The reinforcement buffs from the citadel upgrades and from the flags don't seem to stack correctly.
Example: A standard soldier has 300hp. If you add the +30% hp/damage flag that you have on (almost?) every map you get 390 hp. If you now buy the first three levels of the Armory upgrade in the citadel (+10% health and +100 armor each) your soldiers will still have 390 hp. If you buy the fourth level (for a total of +40% hp and +400 armor) you finally see the soldiers with 420 hp. But you had to pay a total of 10200 gold for an effective +10% hp and +400 armor
Now you can say that they still get the +armor but I think the intuitive solution should be that if you got the flag for +30% and the first upgrade for +10% you should get a total of +40%
I can't see the numbers for the damage buffs, but I wouldn't be surprised if they wouldn't stack either. In that case the first upgrade (+20% damage) would be totally worthless if you still have a flag.