Cool stuff, TIL gluetun. thanks for sharing.
To my understanding according to your docker-compose, since your nginx and gluetun containers are in the same default compose network, I believe you can drop the ports part from your gluetun container;
gluetun:
image: qmcgaw/gluetun:v3.41.3
....
....
ports:
- 8080:8080
Nginx container should have no problem reaching to gluetun:8080 using the container name as DNS record.