For small web to exist all fiber ISPs need to provide fixed external IPs and open ports 25, 53 and 80.

Dynamic DNS is a hardcoded rentseeking joke in most routers, they never wanted an open standard for that.

I'm making my own DynDNS but then I now need cloud instances, which is a dependency we should not need.

Act accordingly in your local jurisdiction.

Long term you're probably right, but I think tunneling services[0] like Cloudflare tunnel or my own boringproxy are going to be what we use for the next 10 years or so.

We're going to have to prove that self-hosting is useful before people start demanding ipv6, public static IPs, and decent upload speeds from their ISPs.

[0]: https://github.com/anderspitman/awesome-tunneling