It's possible to do it via C# (with a Harmony Postfix of BackwardCompatibility to add in replacing your def with theirs, while simultaneously removing your def via patching), but I don't think there's any way to do it with just XML.
Honestly, hiding it behind research like that is a good hack.
Honestly, hiding it behind research like that is a good hack.