I also use Traefik, and once you have it set up it’s really great. Getting it set up is a different story. My advice would be to follow the install guide as closely as you can and don’t start adding to it until it’s stable.
You don’t need to own a domain to use a reverse proxy by the way, you just need to configure your router to recognize whatever domain you choose and route it to the container.
Lately, I’ve been playing around with Tailscale and you don’t even need a domain or open ports to connect to your containers from outside your local network.
I’ve never heard of h2c but it seems useful. I use docker swarm with a few nodes. But for internal communication all the containers can communicate with each other using docker’s built-in DNS.
I run Traefik in front of Caddy for a few different applications including Nextcloud.