Re: Because it's still a module?
Exactly. This is incredibly advantageous for a couple of reasons. Firstly, if somebody else changes an in-kernel API that your code uses, they will generally have to update all users of that API. If your module is part of the tree, they will update it - saving you effort and avoiding bit-rot.
Secondly, it significantly increases the likelihood that your code will be integrated into general purpose Linux distributions, as all they have to do is include the modules in the kernel configuration they build. In the case of WireGuard, some distributions are already including it (using DKMS for example), but this will make it even simpler.