I somewhat agree. I think it's important to not censor anyone.
However, it is necessary to curb bad-faith actors: users who don't engage civilly and get in the way or overwhelm other types of civil discourse.
Disconnecting between instances should be reserved to such extreme cases. Otherwise, (if there are too many bad-faith actors in a single instance), you should leave to individual users.
Moderation is an important concept. How do you promote a healthy atmosphere? Downvotes are a kind of crowd-sourced moderation that seems to work well. In a federated context, you could assign weights to votes of different instances (i.e. trusted instances get some weight, untrusted instances carry none).