The reason is simply because the containers are running in a virtual machine as you need Linux for Linux containers, but Docker Desktop runs containers in a VM even on Linux as an attempt to give you the same user experience. So container networks are inside the VM and you can’t access it from outside the VM.
The solution is port mapping. And there is mirrored mode, which I never tried, but I don’t see any example how it would make the container IPs available from the host. I heard about it before the host networking feature so I guess it is similar, but I’m not ana ctive Windows user and haven’t tested it.