That's just not possible. Why should having to create a bunch of layers even be a problem, given that you explicitly need to render a new video file, anyway. I think you have several misunderstandings here about how AE works or how video processing works in general. Unlike in your game engine, the HUD overlays cease to exist as separate graphics overlays once the screen is recorded and thus there is no way to just grab them and move them around. Even smart AI-based features like content-awre fill can't spare you from doing the hard work.
It's simple enough to use a copy of the layer, mask out one of the elements and move it and scale it down to appear on the gun, but as Mylenium says, it's not that easy to then remove the original elements. What you could do instead is add graphics above the bits you want to hide - like the inside of a cockpit maybe?