I don't know what the VPN's setup is, but MY setup is a Linux box, Lubuntu 16.04 LTS, and not running inside anything. The VPN has an app/client, I run it, the "You're safe!" green light goes on, and...any SSHing into the machine vanishes. My long term goal is to be able to set up an ssh tunnel and view my VNC desktop, as I normally do. I have never liked opening VNC to the world so I always ssh in, tunnel from the VNC port 5900 to my local machine, port ABCD, and then connect to VNC at "Localhost:ABCD." That's my end goal in all this SSH stuff.
OK, that makes sense. I suspect that it's something about the VPN setup. But not at your end. And it's likely nothing that you can see locally. Except by your ability to connect to the machine through the VPN tunnel, that is. I do see one other possibility, however. I don't recall whether I emphasized this, but you need to SSH to the exit IP address of the VPN server that you're using. And not to the IP address that the VPN client connects to. While the VPN is connected, use IPChicken or whatever to get the exit IP address. Otherwise, I really do recommend the Python web server test If that doesn't work, you can be pretty confident that something is broken in the VPN setup. Another option is to try another VPN service.