I think you have a good point about the Mongolian rule not being harsh enough to keep the Japanese from attacking Russia (or vise-versa). A couple well placed Japanese inf/mech and air can pretty much take out the Mongolians (Russian inf) with ease. Plus if the allies want to KJF and overload the Japanese by having the Russians invade Manchuria, the Mongols won’t join the Russians now (big deal lol)
I don’t think you should take away the Japanese or Russian abilities to attack each other out of the game though. I realize that this isn’t historical, and that it would have been virtually impossible for the Japanese to march through Siberia or China all the way to Moscow. However the Germans tried to persuade the Japanese to open up another front, not necessarily to directly attack the back side of Moscow, but to keep Russian resources away from the German lines. There were many border clashes leading up to the NAP, and neither side trusted each other. Plus both sides kept forces at the border just in case (although the Russians did recall much of the far east units to the German front).
Say the Germans did invade England, and they lost a lot of resources doing so. Many historians pegged the Russians to wait until the two sides wiped each other out, and invade a weakened Germany afterwords. As far as game terms go, w/Sea Lion the Russians feeling all warm and fuzzy should be able to invade Japanese held territories if they want too. Just because it didn’t happen doesn’t mean it couldn’t have.
With that said, in addition to the Mongolian rule there should be more of a penalty if either side violates the NAP. This should be a troop deployment to the region that is attacked, and not an IPC increase or unit placement awarded to the victim to place anywhere he can (in another theater). I also think that 30 IPC is way too much of a penalty.
Maybe something like if your enemy breaks the NAP and invades one of your originally controlled territories (territory you controlled when the game stated) you get to immediately place 12 IPCs in units on the territory being attacked, or in a territory adjacent to it. This would represent both sides have a defensive build up at the border, but you wouldn’t necessarily know the strength and placement of enemy units. Plus it would allow you to move actual units away from the border into areas you need them.
This wouldn’t stop the Russians from setting up def in China, or fighting between the Rus/Japan in interior China. It would only go into effect once one side attacks a territory that the other started the game with. You would be able to place the awarded units in the territory being attacked, or in an adjacent territory (or both) depending on the situation you find yourself in. If they attacked multiple territories you have more options for placement, but it would be in a region near the attacks (not dropped in Moscow or Leningrad).