At the initial introduction of Netlink, having it as a module had a lot of sense - as an experimental feature, it didn't have to be in the kernel.
It was also easier to iterate over changes by unloading/loading the module instead of rebooting the VM.
Currently, netlink is being extended to provide a wider range of APIs, including interface creation with custom properties. Such features require access to the private interface data (like vlan parent interface) that are not available externally. Addressing it requires netlink-specific code to be present in the interface modules themselves and inside the kernel cloner interface. Netlink can continue to be a custom kernel part or a module, but that would require exposing dozens of function pointers. I believe at the current stage it starts to add more complexity than benefits. Additionally, many cloner interfaces (vlan, lagg, bridge, tuntap, etc) will get netlink-related code and begin depending on netlink, further reducing the benefit of it being the standalone module.
Lastly, netlink by itself is not too big (~112k additional code).
With that in mind, I'd like to propose including Netlink to the main kernel as the standard part, with the goal of 14.0 being shipped with non-custom Netlink.
I'm not yet sure of what should be done to 13-S. I certainly prefer having fully-functional Netlink there and I want to retain the ability to merge new netlink-only functions there, but I'm less certain of making it a standard part. Probably, some sort of middle ground solution can be done, but it needs some thinking.