"Windows on ARM can also run Win32 desktop appps[sic] compiled natively for ARM64 as well as your existing x86 Win32 apps unmodified, with good performance and a seamless user experience, just like any PC. These x86 Win32 apps don’t have to be recompiled for ARM and don’t even realize they are running on an ARM processor."
It doesn't work well for multithreaded applications because of the difference in memory model. It uses some heuristics to try and not issue memory barriers after each memory access, and sometimes gets it wrong at the expense of correctness.
"Windows on ARM can also run Win32 desktop appps[sic] compiled natively for ARM64 as well as your existing x86 Win32 apps unmodified, with good performance and a seamless user experience, just like any PC. These x86 Win32 apps don’t have to be recompiled for ARM and don’t even realize they are running on an ARM processor."