Let's talk just general steel billets - they have terms like capped, rimmed, killed, semi-killed all of which are used to control defects. Basically pull them to the top of the billet. Then if you need "clean" steel, you can hog off the top where all the impurities are.
And a billet is nothing more than a large, rectangular casting. But all the process I mentioned above either reduce the defect or move the defect to where it does not matter.
And that's the game in casting a part.
Because you are mentioning a 3 mm stock for machining, I am going to assume that it is only a problem once you machine the part, exposing the defect and because these defects are much more rare on the surface. If you're getting these on the "as cast" surface, you really have gating/riser problems.
So the first answer is minimize your machining stock. This can be done by carefully choosing datums in the casting and machining so the "sensitive" areas have the best controls - stackups of follow on ops needing more stock. But 3 mm isn't a lot for a casting of this size.
The second answer (in processing) is control your temperature on solidification. There are two approaches, both can work.
a) Make the surface right near the problem area cooler - causing this area to solidify sooner which drives the porosity away from this surface.
b) Make the surface right near the problem area hotter - in this scheme, you attempt to pull the porosity into the machining stock to be machined away.
This is going to come down to your sand mold - and the spectrum of additives you can choose from, which in most cases come down to application of graphite (better conductor of heat, cooler sand in that area) or possibly a sand core insert, like a shell core. But that's money.
I have had most success with a) above. For b) you may have to have more stock, to provide more room for the defects to go. Most people don't like this option - it's not steel safe in the pattern, it slows the machining process removing more stock.
And I forgot option c) make the porosity acceptable. Make samples and functionally test them. Again, given the size of your castings - yeek. That's an expensive testing program.
Final thought on the metal chemistry side: you could play around with your Moly content or your Silicon or both. An experiment with those at the high/low range may be fruitful. But be careful with this, you will wind up with a "special" batch recipe for this part. And that's easy to mess up in production - your lab releases a billet because it is in spec for the "book value" of this steel, but forgets this one is a special case.