This is one of those: This isn't a bug, it's a "feature".
Each city hub increases the max HP by a certain amount. Immediately, this isn't filled but it gradually increases... probably to represent "digging in". Eventually, your units WILL have full health while in the city but, your right, it does seem off and weird.
I'd just assume that cities give a solid defense bonus, however, I actually kind of like the HP bonus and think, if you really consider it, works just as well, if not better.
One irritating thing this does though is it doesn't properly tell you when your unit is healed. It waits until they "heal" their bonus HP to inform you, I believe.