I managed to reproduce with another stack.
Exposing the port on the container adds it to another network ingress
traefik does not know which network to send the request to.
Add the following label traefik.docker.network
and specify the common network. This has to be the network name as seen in docker, not compose.