alternatively, skipping the XDM schema, you could also leverage the data.__adobe.analytics object
content.__adobe = content.__adobe || { };
content.__adobe.analytics = content.__adobe.analytics || { };
let s = content.__adobe.analytics;
s.events = "events2";
// no linkTrackVars or linkTrackEvents needed
// also, you can set your props here
s.prop3 = "Updated Prop3 Value";
Which approach to choose is a general question to decide on.
I personally try to avoid using the XDM fieldgroup by any means, just because it makes your life so complicated.
Either you come up with data elements for everything or, like in your case, try to fill it with custom code and leaving you with this crazy bloated data structure.
Up to you
Cheers from Switzerland!