Maybe I'm misunderstanding a mechanic, but there's been a few times now where an independent power I was befriending just disappeared out of nowhere, and I know for a fact they weren't dispersed because I had troops near them protecting them.
The only reason I think this could maybe be a mechanic I'm unaware of is because the common theme is I have troops in their borders when this happens, which makes me think there's an alternate way to disperse them aside from clicking the "Disperse" button?
However, this seems to often (but maybe not always?) happen the turn they're meant to become a city-state and when that's the case, I still get a notification that they became a city-state but when I click on it, it sends me out of bounds and the whole thing looks very glitchy. You can also still partially their borders where they used to be, it's very strange, so I feel like this isn't intended.