Your serial might have worked, but your docker didn’t. (And someone else’s other drivers didn’t, and mmapping had ever-so-slightly different semantics causing rare and hard to reproduce issues).
WSL2, on the whole, is much more compatible. If you want 100% Linux compatibility, just run Linux.