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 doesn't. It means you have access to the internet through that company's infrastructure. You still have full access to the internet behind a CGNAT even if you can't be reached directly from the internet.
An internet connection by definition is two-way. The internet was designed as a network of interconnected computers. A one-way only connection like through a CGNAT is preventing you from doing a lot of things the internet was designed for.
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.