Interesting point about city-states. I did not realize they got extra bonuses above and beyond major-civ AIs, whose type of city I was testing combat odds against.
CS get the same bonuses as major-civ AIs. The main differences here being:
i. Every CS has a Palace (+6) since it is a Capital by default whereas major-civ conquest usually starts against border cities, making city conquest easier.
ii. CS prioritize defensive buildings compared to major-civs. You'll see Walls / Castles go up much faster in a CS compared to major-civ border cities.
This results in an anachronism where it's almost better to DOW a major-civ than a CS. I say "almost" because major-civs have the benefit of multiple city unit production and (usually) better tech. But it does make taking a CS for resources far less attractive than simply settling another city for it. And makes the ROI for "destroy CS" missions in order to curry influence with another CS pretty bad, at least in the earlier eras.
Do you think it would help if the Siege promotion required the first rank of Drill/Shock instead of the second?
Definitely! However if you do this in conjunction with lowering the city defense values you'll only make things easier for the player since the AI won't necessarily pick this promotion and is not as good at unit preservation.
I'd prefer that we tweak the city defense values so that the impact is felt across the board. I think players would still be quite happy to go with Siege as the third promotion given your buff (and the fact that your mod has stronger city defenses than vanilla).
Having the Siege promotion available earlier (30 xp) will also bring back the problem of (human) Horseman city conquest spam. Go level up against barbs and then conquer cities with Str 20.35 Horsemen. (GG + 25%, Siege +40%, Drill or Shock (+20%)).