You need to remove a bunch of variables here to even start getting down to what may be the issue, but I'm guessing it's just the networking.
- did you run speed tests over protonvpn and is this a paid plan?
- have you tested what your Ubuntu download speed is without VPN or gluetun in the way?
- have you looked at the peer and tracker info to see what's going on there?
- have you tried another torrent client to rule out config issues with qbittorrent?
- do you have QoS rules on your router?
- what is the NFS server, and how are you mounting it?
From your title it's also hard to understand if you're trying to stream an unfinished torrent or not. If you're doing that over NFS, of course it's not going to work. You're introducing a waterfall effect of client read/write verification from the source down to the consumer where the contents of the source file are changing and need to be updated and verified all the way down the line.