Eu acho muito interessante isso de self-host, até montei algo com um esp8266 que estava parado aqui, mas não consigo abrir portas com esse ip de cgnat que me entregam :/

seu provedor te fornece ipv6? porque o provedor que uso aqui é um regional (pequeno) e o ipv4 é compartilhado mas o ipv6 é individual e consigo acesso público por ele. verifica aí se rola o mesmo no teu provedor

Acho que no seu caso precisa de um tunel! QUem sabe o Cloudflare Tunel?

Ou o localhost.run este não precisa instalar nada, só chamar via terminal!

Cloudflare Tunnel parece ser uma ótima pedida