the problem is faction population growth, as i've said everywhere. this needs to be tied to a resource (eg food) rather than the number of cities (currently, you get 1 guy per turn per city). this way if you build lots of cities and give them all the same housing provisions (hard cap) then you should expect them to grow more slowly and stop growing at an earlier point, than if you built only a few, or limited some to hamlets by not building housing.
so long as both population growth and the ability to maintain a population increases with the number of cities (due to caravans and nature's bounty) instead of with the available resources, then it will always be in people's interests to spam settlements.
the current system of charging food for housing is a clumsy attempt at doing this, but is ultimately flawed and restrictively simplistic, because it is a only a building requirement, not a population requirement, and determines only capacity instead of growth itself.
just do it like this: https://forums.elementalgame.com/397376
if you determine population growth this way then the mechanics will incourage a mixture of big cities for generating gildar and small villages for controlling resources. much more fun.
near-minded short term fixes like increasing the minimum foundation distance and increasing pioneer costs are not going to cut it.