To get a flavor of the work required when emulating the kernel, you can read up on the work it took Windows developers to emulate Linux syscalls on top of the NT kernel for WSL 1 here: https://learn.microsoft.com/en-us/archive/blogs/wsl/wsl-syst...
WSL devs eventually abandoned that effort in favor of running the actual kernel in a VM -- that's how WSL 2 is implemented.
[0] I'd be surprised if sys_fork actually forks the process using a web worker, for example.
On webvm.io
> $ time python3 -c "max(range(10**7))"
real 0m1.558s
On https://copy.sh/v86/?profile=archlinux
> # time python3 -c "max(range(10**7))"
real 0m5.283s