I'm trying this and it seems to be running. If I run curl 127.0.0.1:9091 I get a 403 which is expected but if I try to access the same from another computer on the network then the connection times out, any idea what could be the cause?
Consider moving from mullvad if you are into torrenting. Mullvad doesnt support port forwarding anymore. But no matter what provider you chose, use docker container gluetun to route traffic from any other container (like transmission). I like transmission, but most people use qbittorrent because its more advanced. You can also set up VPN in qbittorrent settings
I highly recommend moving that to a docker or podman setup.
Gluetun is the go-to for VPN traffic. Set up a little container and you can link other containers to it to route all their traffic through.
You could use something like portmaster to route only that program to the VPN.
Probably safer to configure your program to use the mullvad proxy. That way if mullvad is offline it just won't work.
The gold standard for what you want to do is qubes, where you would set up a VM that can only talk to a VM that's routing to the VPN. But that's a lot of work. You might be able to set something similar with containers.