I’d rather not mount the docker sock into my reverse proxy,
You don't have to if you use the dynamic file config. I've mentioned this before and debated to the ends of earth for even suggesting such a thing. But it all aspects is dynamic file configuration better.
Of you use IaC in your set up, it gets even easier because then you can just set up templates that automatically create file configs and add them to your reverse proxy seamlessly.
Right now with one Terraform apply, I create my docker container, traefik config and my homepage service.
IaC stands for infrastructure as code.
Traefik's dynamic file config just scans a folder for .yaml files. So i just generate a file automatically with the container's network address and copy the file into traefik's folder.
Traefik just looks for the container address in the file (either IP or container name). The files are basically the yaml version of the docker label.