It's about speed
The kernel module is really fast.
The userspace implementation is not considered so fast, that's why Cloudflare created BoringTUN, using rust.
Clearly we thought, only one of those fits the bill, and that is wireguard-go.
However, benchmarks quickly showed that wireguard-go falls very short of the performance offered by the kernel module.
This is because while the Go language is very good for writing servers, it is not so good for raw packet processing, which a VPN essentially does.
We can always create the userspace (once we move to zeus) and provide the kernel for supported machines as well.