Nice, I recently went through the same struggle of setting up this configuration based on that LinuxServer post. My main nitpick on this is that automating the ip route configuration for the qBittorrent container is a pretty important step which is not explained in the post. Leaving any manual steps in any Docker setup is pretty bad practice.
Since you're using LinuxServer's QBT image a good way to do this is to make use of their standard custom init scripts. You can just mount a script with the ip route
commands to /custom-cont-init.d/my-routes.sh:ro
on the container and it will be run automatically on each startup.
Another nitpick is that the PostDown
commands in the wireguard configs are useless since you're running them in Docker.