Hosting a publicly accessible website that is behind a VPN

Setup:

Ubuntu 20.04

VPN Unlimited

Nginx

Problem:

One of the uses for my server is to host a publicly accessible Nextcloud (file storage) instance. I have a domain name that periodically corrects itself to my public IP.

Without the VPN, the site works fine but with it on (and the domain pointing to the VPNs IP), it’s no longer accessible and I’m shown the default nginx “Welcome to nginx!” screen (which doesn’t seem to be my nginx instance because I’ve stopped the service).

I’m running the server behind VPN so that my traffic is encrypted as I also use my server for other stuff.

Considering it’s a public VPN (worth noting because I assume I will be assigned a random port by the VPN provider so maybe this is where I get blocked?), is it possible to have my server running on the VPN and still be publicly accessible?

End Goal:

Whether it’s through a VPN or some other utility, I want all (or better still just a single port) of my traffic encrypted and away from prying eyes

Networking is utterly confusing to me so any help would be appreciated

Without the VPN, the site works fine but with it on (and the domain pointing to the VPNs IP), it’s no longer accessible and I’m shown the default nginx “Welcome to nginx!” screen (which doesn’t seem to be my nginx instance because I’ve stopped the service).

You realize that when you connect to your VPN’s PUBLIC IP, you are sharing that connection with lots of other people? This isn’t YOUR VPN.

If you want to continue to use these fake proxy services, then you will need one that actually supports port forwarding through the tunnel. Otherwise, you’re just trying to connect to the public VPN as a website.

This exposes your private next work to a lot of risk and leaks. Your better off renting a cheap vps. Bare minimum reverse proxy.

This man has tech sense