Please poke away.
The player losing the city would indeed lose 25% of their possible production unless they could win the city back. But importantly, the attacking player wouldn't really gain a great deal. So while the attacked player suffers, the rest of the players are still on relative parity with the attacking player. The problem at the moment is that the attacking player gets too much of an advantage for taking cities.
An attacking player could wipe half the map and still be within reach of the other players if the 'vassal city' mechanic was in place.
As far as a player losing a city then having the ability to build another, I'd be against it personally but it could still work out OK, although they wouldn't be able to win back their original city as a core city if they are again at their limit - the re-conquered city would just become a vassal city for them. But my preference would be not to allow the player to build new cities once they reach their limit.
If a conquering player razed the vassal city then the original player would then be able to re-build and replace it because it would reduce their 'foundation city' limit by one.
Corruption based on number of controlled cities could also work to a degree but I think that would introduce new undesirable game mechanics. This makes conquest not very attractive because you actually lose production in your key cities. This would lead to razing cities to control corruption. I wouldn't like to see razing a city be a common strategic option simply to control corruption though.
Similarly, unrest is a brake mechanic and will encourage razing.
Corruption and unrest are limiters designed to limit the winning player from getting too far ahead. But they also limit strategy to a degree because they are applied as the game progresses. Having a city limit based on the number of foundation cities you start is also a 'limiting' factor but this is a start-game strategic choice making your initial city placement more important.