Issue
When using newer versions of docker (or devcontainers, I updated both at the same time), devcontainers do not properly forward the internal ports. The tunnel appears to exist on the host, and in the docker shell you can curl a webpage, but the connection is broken or something.
Fix
add explicit host url to the dev and preview commands, so the url as well as the port get auto recognized.