That is why 21038400 is the theoretical limit and we dont want to go forever mining a millionth, a trillionth of a Satoshi. Actually (as for now) we cannot go less than 1 satoshi anyway. So the real number is just a little bit smaller than that, maybe 21038399.99999999 or 1 Satoshi away from the theoretical calculation.
Halving exactly every 4 years is not set-in-stone, it is to take place every 210,000 blocks, which should average to 4 years, but can be much sooner or later.
Your math is off (could be due to taking 4 years as a static value), total number of bitcoins will never cross 21 millions (under current protocol rules).
https://en.bitcoin.it/wiki/Controlled_supply