You will probably have to get a domain, but some of the ugly TLDs can cost few bucks for a year, so it's not that bad.
As for being able to access your Nextcloud from outside, if you don't use it to share large amount of data often, I recommend looking into Cloudflare Tunell. It's pretty easy to set up, and allows you to not only put a configurable firewall in front of your Nextcloud instance that you can for example geoblock traffic from other countries, but you also don't have to deal with port forwarding, DDNS, or exposing your home network directly into the internet.
The setup is simple, you just download their cloudflared service, install it with a token generated in their web management (that ties it to a domain and tells it what port it should expose) on your Nextcloud machine, and it will automatically connect to Cloudflare server that will act as a port forward, but without you having to expose anything on your home network directly.
I don't really access my Nextcloud from the internet that often, don't use it to stream or share large files with large number of people, so I never had issues with it. But I've been told that it's against Cloudflare ToS to use it for large data sharing, streaming or high-volume data transfers, so keep that in mind.
But it's perfect for accessing my Home Assistant and Nextcloud when I need it.