So apparently it was a WSL networking issue and a Nomad/Traefik issue, two in one.
I had to mount the traefik config files from Nomad to Docker like:
volumes = [
"etc/traefik/traefik.yml:/etc/traefik/traefik.yml",
"etc/traefik/dynamic.yml:/etc/traefik/dynamic.yml"
]
Then I had to remove the port forwarding since Nomad does automatic NAT translation when bound to 0.0.0.0, then bind the ports in the hcl setup so that Nomad can handle that:
ports = ["admin", "http"]
That results in Traefik being available on the WSL IP address (not localhost, as it's not found to 0.0.0.0) and is able to handle incoming traffic.