Since you seem to have a good handle on flags, and since the reading i did on them didnt get into the exact methods the flag bonus is calc'd with.
Do you know is the final bonus say with the haul flag calc'd by the individual unit (then rounded down) and then each unit new haul added together. Or is the bonus calc'd by the total number of specific troops, and then rounded down...
I'm not 100% sure about this, but in most situations with this sort of bonus or added/subtracted percentage both your suggestions are false. To enhance playability, but sustain quick calculations, the game uses only graphical rounding off. The actual value is never rounded up or down. For example look at speed worlds. You build spears there in like 4 seconds if the settings are fast enough. This doesn't mean you make 15 spears in a minute, sometimes 17 or 14 depending on what value was calculated and not the one shown. Same goes for the difference between level 24 and 25 barracks. They both recruit at 25% off the base time, but for axes it's still like a 9 second difference. Something similar goes for the mine production, if levels aren't 30, the amount gained per second isn't a whole number, but say you get 2 resources per second your warehouse shows +1, +2, +1, +2 every second it updates. This shows that even resources are kept at rational numbers rather than integers. This however, obviously, doesn't work for the population flag. Half an axe doesn't exist xD If it is really rounded down/up the latter thing you said is true. Only rounded down/up at the total haul, not per unit. (Just tested it)
So in conclusion, I'd say you just loot a rational number of resources rather than an integer, but not 100% sure though. If I'm wrong, the total haul gets rounded, not unit haul. But this makes absolutely no difference as the less than 0.5 resource difference per attack makes like no difference at all.