Isn't it easier to assume Citi is recovering the 5% via interchange fees versus Citi is losing money every time a customer uses an advertised card feature.
Or citi has figured out that certain users of the card carry a balance and they spend more on interest than it costs in Citi in rewards. If the situation changes and Citi is losing money, then they change the reward amount.