You will get much better answers in the networking forum as this isn't really all that highly technical.
The root of the problem you are describing is that a VPN will encapsulate your data packet so it can provide it's own security measures. When you do that you have to increase your packet size to accommodate the new header information.
Anytime you try to send a packet that is larger than your MTU you have to break it up into multiple frames so that it can be passed along the network. So if you force your packets to have a frame size much lower than 1500 then when the VPN encapsulates the packet you are still below 1500 and can send the packet along unharmed.
Why is breaking packets up bad? It causes excessive CPU/Memory usage and in the case of a VPN the overhead increases as well. If a packet has to be split up so it can fit inside the MTU size you are having to duplicate the IP headers/VPN headers which creates extra data to send, so you lower the amount of actual data you can send because you have more overhead.