VPN can be computationally heavy, I'm not really surprised those are the speeds you're getting from it.
With that said, adjusting your MTU value, usually lower, to help reduce fragmenttation, can usually claw back some throughput. You'll have to play with it a little to find optimum values. Use PING with the df (do not fragment) bit set to sus out what works best for your setup.
Hope that helps!