As already said, the problem is that you are behind a NAT. Basically introduced because of IP address range exhaustion (but today also seen as a security feature), your router is the only device connected to the internet and all devices connected to that router are just in the home network. When you want to connect outwards, you basically send your packets to the router, the router then relays them into the internet. The router thereby remembers your computer for the used port, so when a response comes to the same port it can relay it to your computer.
When you forward a port through your NAT you basically hardcode this as a rule that all packets to a specific port should be relayed to your computer. But you can also "Trick" your router to register a port for you, this is called Hole punching. Basically you connect outwards to the internet, this causes the router to register a port to be redirected to your computer. From that point onwards, any time a packet arrives to that port it will be relayed to your PC, as if you statically forwarded a port in your router. But unlike the static forwarding, after some time the router will forgett about this forwarding (basically close the hole).
So what you can do is to regularly punch a new hole and then listen for anyone connecting to that port. The only thing you need is a way to publish that port. This is usually done by having a lookup server. When punching the hole, you connect to that lookup server. The server registers the port the request came from. When a client wants to connect to you, they ask the lookup server for the correct port, and then connect through the punched hole to your server.
This is how Skype calls or many streaming and remote control apps like Teamviewer are operating. Instead of having all the communication being handled by a big central server, they just have a register server, which maps usernames onto IP addresses and ports, and all the streaming is then directly between the users. This allows the lookup servers to be very small and lightweight and allow those systems to be operated cheaply (and also much more privacy preserving then the alternatives like MS Teams or Discord)