This is largely just going to be storytelling and rambling just for fun, so if you're looking for a concise tutorial of some kind you should look elsewhere.
Anyway, sometime last year some friends of mine wanted to play Minecraft. I was in a hotel room at the time, so I asked if they had access to port forwarding. Neither of them knew what that meant. So I went looking for alternatives.
My first solution was Radmin VPN. The three of us downloaded the app and I set up a private network for us. They could then connect to my server as if over LAN. This worked phenomenally, but presented some obvious problems: 1. I was hosting the server on my laptop. 2. It was very difficult to get anyone else to join. And 3. Adding people to a private network is probably not the best security practice.
When I got home I tried to solve the latter problems but quickly discovered that I do not have a real IP address and thus port forwarding accomplished nothing. It turns out I am stuck behind something called CGNAT. So I tried solving the first problem instead.
I bought a mini PC with lots of RAM and installed Linux on it just for fun. This immediately presented another problem. Radmin doesn't have a Linux app. Oops. Time for a better VPN. My current one is called Zerotier and it runs on just about everything. Even my phone is on the network. But this time I didn't want to add other people to it. So I tried various methods of tunneling and proxies and whatnot and eventually found my current solution.
Did you know you can get a lightweight virtual computer with an IP address from Oracle for free? Well I have one now and all it does is relay traffic through specific ports to my mini PC over the VPN. The program I use for this is Nginx, which can also be used for http hosting.
This Reddit post helped immensely btw.
The Minecraft server isn't running anymore, but I have since used this setup to run a Palworld server for myself and a coworker. And right now I'm using it to host a website (again just for fun). It's basically an empty html file with this blog embedded in it but it's public and it uses the domain I recently bought :).