Some differences between yours and mine are:
I also use Wireguard and I have "- WIREGUARD_PUBLIC_KEY=[redacted]" and you don't;
I don't have any volumes set up, everything in the docker compose;
You aren't specifying the latest image, consider using "qmcgaw/gluetun:latest";
I do not use CIDR notation for the "WIREGUARD_ADDRESSES" and you do, consider trying it without the "/32";
Are you sure your forwarded port is in AirVPN's pool #1? For P2P it has to be.
For qBittorrent:
again use the latest: "lscr.io/linuxserver/qbittorrent:latest"
consider adding the following for robustness: "depends_on:
gluetun:
condition: service_healthy
restart: true"
You don't have "TORRENTING_PORT=[your pool #1 port number]";
Its usually best to have these in the same stack, not separate containers. Keep trying, it DOES work.