I think I have it narrowed down to a bug/feature in OnStart() in MPGameSetupScreen.lua, but I don't understand what various function calls in there are doing. Seems that mods are loaded correctly until you click "Host Game" at which point the OnStart() function is called and the stock game data is reloaded.
You can see this by inspecting the game DB. I'm testing with a simple data mod in my case, and my modded values appear correctly as I go through menu up until the point I click "Host Game". Then the mod values get reverted back. You also see the "Configuring game data..." dialog, which is a giveaway.