What's broken is code that relies on long double offering more precision than double and expects to be portable. That's not guaranteed by the standard and isn't going to be true on all architectures.
To be fair, WSL claims to be (x86) Linux binary compatible. It's giving different results from actual Linux for the same binary.
Or pressure MS to fix it. They are rolling updates to WSL quite fast.