Bit of a difference porting well documented APIs with multiple open source implementations compared to a compete clean-room reverse engineering of a closed system, quirks and all.
> You do realize that if a Windows application is calling an API, it's well documented?
To the original developers of the Windows application, perhaps. Not to the rest of the world. Not unless that Windows application is open source.
Windows has years upon years, multiple layers, and multiple versions of APIs, with quite some buggy behaviour preserved for the sake of "backwards compatibility". Linux (the kernel) has a much smaller userspace API.
Wine has to reverse-engineer not only the Windows kernel, but also all the editions and versions and layers of the Windows userspace. WSL has to implement just the Linux userspace API.
> Also the WSL team is forbidden from looking at the source.
Are they also forbidden from reading the excellent man pages (of say, glibc) or the kernel documentation? That is as direct a source of information as they can get without having to parse source code. And the other BSD-licensed implementations of the Linux userland APIs are available in source code form. Quite different from reverse-engineering dlls and runtime behaviour.