7mm of gap between the top of the stem and the top of the steertube sounds like too much.
As a general rule of thumb, the top of the steertube should not fall *below* the top stem clamp bolt on an aluminum/steel steerer. Another general rule of thumb is that, for carbon steerers, you should have at least a 3-5mm headset spacer ABOVE the stem to ensure you are clamping and not crushing the top of the steertube.
Taking "a longer top-cap bolt" approach will probably break both of the rules listed above.
Recommend going to your LBS and trying different stems with lower stack height.
You state you need a 30ish mm stack height stem. I have never seen one that short. You may need a new fork.