Just a few things to chime in on here...
UPnP does not always work the way you would think it should. Some routers implement a different variation of it than others, and the same is true for the apps themselves. Not all UPnP support is the same, so while it may work in some cases, I wouldn't count on it working all the time, or even across all apps. This is why it is important to map the necessary port forwarding manually if you're using your regular internet connection.
Not all VPN services are the same, so it is important to choose them wisely, depending on a few factors. The biggest of these factors is port forwarding. This is an essential step with our system, which is necessary to be able to get proper upload traffic. You need to make sure that the port your torrent client is using is forwarded through the VPN, just the same as you would if you were using your regular internet connection. Some VPN services do not port forward at all, while others port forward only ONE port. Some however will allow for port forwarding of all ports... So it is very important to make sure that the VPN service and server location that you are using forwards at least one port, and that your torrent client is using the port that is forwarded.