In my experience so far, it reads the mod file version of the object in *addition* to the core version. So, you can insert additional modifiers, or overwrite settings that can't 'stack', but for settings that DO 'stack', you cannot remove them via mod files. Which is why i'm having this specific problem.
So, for example, if i don't want a given champion to show up as selectable in-game, i can overwrite their Allegiance to 'null' (something invalid) as that setting doesn't 'stack', IE the mod-file version will overwrite the core file version of that setting.
However, if i wanted to remove a trait from a champion, i can't do that via mod file (without disabling the core version and creating a mod-version 'copy' of the champion) as traits 'stack' and whatever you specify in the mod file will be given to the unit in *addition* to what the core file says, not instead of. Right? That's how GameModifiers work, anyway. Can't overwrite, can only add.
Edit: Dur, spelling
Edit #2: Annnnnd i'm totally wrong. You're right, units are replaced by their mod-file version, not added to. I've spent 96.334% of my modding time so far doing traits, and they ARE additive, that i just assumed unit info that could stack, would. You know what they say when you assume! 
Very glad to be wrong, though. Makes things, like, 100X easier then i thought they'd be. *wipes tear* I love this game...