I'm connected via a 4G modem. Got this setup about 3 years ago. In the beginning it was enough to look for the public IP (what's my IP). The modem showed some sort of private ip in the ui. I'm running stuff at home (Homeassistant, Gitea,) and bought a domain and pointed it to my home IP via Cloudflare. After some time I've noticed my modem shows the public IP also internally. For about 2 years now it ran flawlessly, the IP changed from time to time, but not really more than once in several weeks.
For about a week all stopped working and the modem shows IP 100.xxxx and outside 85.something
I guess I'm behind NAT now.
Normal port forwarding on the modem is useless now.
Is it possible to open the ports via UPNP? I've tried via miniupnp from my Ubuntu server, but it just throws an error.
No, it just doesn't fit in your imagination, but it is a 2 way connection by definition. It's also everything the ISP promises when they give you an internet connection.
Sorry, but you are using a wrong definition of an internet connection. A internet connection has by definition a unique public IP, otherwise it is only a intranet connection. That has nothing to do with my imagination and I can assure you that I would never pay for a CGNAT connection as most of what I do with my internet connection is not possible with that crap.
Your definition does not make it the definition. Nobody really cares about your definitions or what you would do with it. People care about the accepted definitions and what is the expectation.
There is nothing to admit. You are simply not willing to concede that the original definition of "internet" is still valid and watering that down serves no purpose other that muddling the waters and allowing huge corporations to increase their profits by cheating on their customers.