Can’t throw down in zone

My 12 yo son throws very hard and has a classic 4 seam high riding fast ball. He consistently throws this at the top of the strike zone and can not get it lower in the zone, whether he is not getting the high strike call, or on occasion he faces bigger kids that can catch up with it and elevate, which ends up a home run or deep drive. This weekend his catcher kept giving him a low target and he was on target, just at the top of the zone. This naturally led his catcher to think he was refusing to throw it low. Working 1x1 with him he can never throw it down in the zone, unless he doesn’t throw hard or some other tactic we don’t won’t to see. Any suggestions, tips, drills to help him throw low fastballs?

Some additional info, he does throw a circle change and a 2 seamer, both of which are usually down, as they should be. However, since most kids can’t catch up with the 4 seam his coaches keep focusing on using just the 4 seamer. It’s just that when he faces great hitters it goes a long way. Also, I don’t ‘think’ it is a mechanical problem. He has struggled with opening up in the past, which causes the ball to sail up and in to righties. He has pretty much corrected that and I can usually tell when that is the issue. He is even self aware enough now to fix it himself on the next pitch.

He also is not great at targeting the inside or outside of the plate. When I discuss this with him he says “but you don’t want me to ‘aim’ the ball”. Generally everything is on the inside part of the plate to righties and all 3 pitches tend to tail in.

Thanks for any suggestions.

Here is a guy who couldn’t throw down in the zone either.
Probably because he threw 110 mph:

New Britain, CT: Home of the World's Fastest Fastball

Try to get him to finish his delivery. At 12 many times when trying to throw it hard they don’t finish. Another option have him aim at the catcher’s feet. I have also seen short bullpens help with this. Try moving the plate closer by 5-10 ft in bullpens to help with feel. Not sure what distance he is throwing at 12 (45ft or 54ft) but we move our HS guys to a 45ft (from 60ft) bullpen or short box 1 time a week minimum during preseason. Mechanically missing high or low typically has to do with glove side mechanics.