I like this kind of situation to be honest: as senior you can make it better (it is your job) and become a hero as well as demanding more pay, bonus etc. Become friendly with one of the c-levels, preferably the ceo and replace the cto (who sounds bad or at least not good enough) with yourself. That is what I would do (and did a few times).
I'm not saying what you claim is impossible, it totally is possible. Working your way up does not only involve hard skills or soft skills, but also the local context must somehow enable/allow this and that certainly involves a lot of internal politics.
One question though: since you did that a few times, why did you not pick a C-level position (or any high level position) directly after your first success? Why did you prefer to "reset" to developer and work all the way up?