Perhaps this is what you intended in the first place, but:
If slavery world view is active (city has the slavery civic building), prevent the construction of various "tech-ish" buildings? For example, the donkey/water/oxen/wind mills. This idea could apply to a great variety of buildings, so you'd end up with a slavery-civ being a fairly strong production base but technologically limited in terms of the buildings available.
That said, going through all the buildings and deciding what may or may not hypothetically exist in a civ built on slavery would be quite a project.
A possible alternative, thinking in terms of commerce penalties: is it possible to add autobuildings based on a count of settled specialists vs city population? I don't imagine so because I can't think of any examples that might exist, but perhaps it could be worked in? The crime and disease penalties from slaves already kind of do this but those attributes are easily managed. I was thinking instead that if the slave population in the city exceeds either an arbitrary count (i.e. at 5 slaves, 10 slaves, etc) or in comparison to the actual city pop (i.e. 1 or 1.5 slaves per city pop), add autobuildings with not-insignificant negative effects.
I tend to notice a big change in adopting City States as well, depending on how much I may have over-expanded prior to adopting it. This is on immortal difficulty, usually epic or normal speed.