7n31 and ap 6.3 rounds shoot high in all 9mm guns currently in the game because they are not the default ammo for any of the guns in the game.
Why? The base round of the gun determines the regular bullet velocity that the gun is made for. In the case of the MPX for example, it's PSO GZH. In the vector, PST GZH.
When you load in the higher velocity rounds. The bullets arc is much longer. The bullet flies farther and lifts higher and then drops allowing it to go much further distance. But the higher velocity means the parabolic arc of the bullet is larger.
So when you zero a scope for 100m on an mpx. If you're shooting PSO GZH out of that MPX at 100 meters that's exactly where a PSO GZH will land. But this ranging does not take into account shooting a bullet that is not the default ammo for that gun.
You can see the default ammo for every gun on the tarkov wiki. The further you go above the base velocity of the bullet the gun is made to shoot, the higher it will shoot at certain ranges before it drops back down to level with the crosshair.
So if you zero for 100 meters with 7n31 you're going to be shooting very high until about 150 meters. I've seen many threads talking about how the new STM-9 is shooting high. It isn't. The Default Ammo for the STM-9 is PSO GZH if you fire those, your zeroing will be spot on.
I hope this helps clarify how the ballistics work in Tarkov. Parabolic arcs are a huge part of the gameplay in tarkov. Learning different ammo and where to place your crosshair. I hope this helps clear up some confusion around how ammo affects the arc of guns.
Edit: I put parabellum arc instead of parabolic arc and fixed it.