The game is working as intended; Mage Armor should not stack with Barbarian's Unarmored Defense. Evidently Larian implemented Unarmored Defense in a different way than other armor calculations, so that mage armor (correctly) doesn't apply to the former but (incorrectly) does apply to the latter.

It's the tooltip that is wrong: it should say that "Unarmored Defense sets your unarmored AC to a minimum of 10+Con+Dex" Presumably your Barbarian's Unarmored AC is already equal or higher than 13+Dex from a Con of 16 (what Mage Armor would give), so you don't see any change.

For that matter, the correct implementation of Mage Armor is: "Mage Armor sets your unarmored AC to minimum of 13+Dex" not "Mage Armor adds 3 to your AC."