Using an arbitrary limit on the number of tiles a city can build makes it feel very gamey, and it obviously feels like it's an artificial game mechanic.
It'd be nice to build in a limitation that makes sense to the players from a logical perspective, rather than an artificial game limit.
I propose a system where buildings reduce the max population of a city. Population becomes irrelevant once a city hits level 5. This will help give more relevance to the population statistic. Consider, when you build a new improvement in a city, how are you getting the bonus from that improvement? It doesn't just take a building, but you also have to employ people to work there. So by reducing the max population, we're able to limit the number of improvements your kingdom can build as it would be limited by the population which is in turn limited by the amount of available food. This limit is increased as you get more food resources as well as through researching better housing and food production techs. This will build in more tradeoffs that the player has to consider as well since as the max population decreases, so does the amount of people available to build troops. Do you build that building that takes up the last 10 population that you have, or do you save it so that you can pump out troops?
Deciding which city to build housing in will also matter as you have to balance the benefits of what you can build at each city. Figuring out which buildings are actually worthwhile to build. This would also prevent city spamming, though it does make food an even more important resource so may need to do some balancing there.
Not sure how to integrate in the city levels into the system. What happens when your max population drops below the threshold for a city level? Does the city go down? Do we introduce a max population (# houses x people per house) to calculate the city level and an available population (# houses x people per house - pop req for improvements) for figuring out how much population is left for building new improvements and troops?