If you happen to use gluetun (great project btw) you can use the environment property VPN_PORT_FORWARDING=on and a volume mapping to /tmp/gluetun/forwarded_port to obtain the port number from the container. Then with the bittorrent-port-forward-file container (Link) you can automatically set the port from the file to qbittorrent.
I use this with ProtonVPN and it works like a charm.
Here the relevant parts of my docker compose file: