Assuming the majority of miners are compromised, they still must burn energy to operate. If they will start to censure transactions, those ones will start to grown in fee. Miners cannot simply start ignore big fee because, as they pay their bills. Even if they manage to do it, someone else will try to mine those transactions (as before, for high fee)
Again, it requires specialized hardware to mine.
Assuming the majority of miners are KYCed and legislators coordinate requirements, I imagine something like.
Level 1: KYCed miners are required to not process transactions from list of banned addresses.
Level 2: KYCed miners are also required to not build on top of block with transactions that break level 1 requirement. They can only build on such block if the last n blocks are all breaking this reqirement. This will strongly disinsentivise non-KYC miners from not obeying.
Level 3: change from banned list to allowed list.
Expanding on Level 1: Bitcoin is miners can censor individual transactions. It's not possible to do that on Monero. You're forced to attack the entire network if you want to prevent a single transaction. All things equal - this censorship would be *much harder* to do and sustain (and it gives miners plausible deniability) if Bitcoin was private.