I've got race mod A (Nuska's OCO v2 here) tagged with the relevant things to import its changes into my bashed patch, and active. Among other things, it has the R.Head tag.
I then have race mod B (my WIP race balancing mod) tagged so as to import all its race changes into the patch: these are stat things (specifically, Actors.Spells, Body-Size-F, Body-Size-M, R.Attributes-F, R.Attributes-M, R.ChangeSpells, R.Relations, R.Skills, SpellStats) and should have zero intentional overlap with OCO, apart from race height and weight. This mod is merged and deactivated (as it only uses vanilla content), and located just after mod A in load order.
However, when I rebuild the patch (standard python way), it correctly takes all the cosmetic changes from OCO and the stat changes from my race mod, except that it also takes facegen data from my race mod (identical to vanila), overwriting OCO's changes. OCO has the R.Head tag and my mod doesn't, so what gives? It takes all the other OCO data in correctly.
If I put my mod before OCO instead of after, keep all its tags and merged status, then OCO overwrites its changes to race height and weight (even though my mod has the Body-Size-F and M tags, but OCO doesn't). Again, What gives? All the other changes from my mod are working correctly.
Do I have some fundamental misunderstanding of how Body-Size-F, Body-Size-M and other bash tags work? Is there a way to give me OCO facegen data, my mod's stat data (including height and weight), and keep my mod deactivated and unreliant on OCO?
For load order details, there's nothing else in my load order with Body-Size tags, and the only mod after these two which makes race changes is Better Redguards, which is merged and all working as intended.