I've had a lot of experience with 1 city being controlled. You're right, it's also a puppet problem. But I've also had experience with 30 cities controlled in an empire, and cultural city states do almost nothing.
Consider this: Pretend you're running a 4 city empire. You're at x2 cost for all policies. Say in this scenario a cultural city state gives enough culture to get you a new policy in 20 turns by itself. Now pretend you're running a 22 city empire. You're at x8 cost for all policies. That same city state now only gives you enough culture to get a new policy every 80 turns! You would have to get 4 cultural city states on your side for the same level of benefit! In some of my games, I have almost no cultural city states even though I'm going for a cultural win, which just feels wrong.
We should scale city states so they give the same level of benefits no matter how many cities you have, given roughly equal total population.
Consider this: Pretend you're running a 4 city empire. You're at x2 cost for all policies. Say in this scenario a cultural city state gives enough culture to get you a new policy in 20 turns by itself. Now pretend you're running a 22 city empire. You're at x8 cost for all policies. That same city state now only gives you enough culture to get a new policy every 80 turns! You would have to get 4 cultural city states on your side for the same level of benefit! In some of my games, I have almost no cultural city states even though I'm going for a cultural win, which just feels wrong.
We should scale city states so they give the same level of benefits no matter how many cities you have, given roughly equal total population.