I've been okay with blocking people from day one because I started out like this: when I'm on the internet I've carved out a tiny little corner of the internet for me to share my thoughts and feelings with people. This is my tiny personal space. Just like I do in the real world I design and decorate my tiny little space for maximum comfort. I enjoy deep meaningful discussions with people both online and in the real world. I also like silly frivolous discussions too. For me that's all a fun time, so I carefully curate my online experience to maximize my enjoyment.
What you're describing is the kind of behavior I would NEVER put up with in the offline world, (and I tolerate extremely little) and I refuse to tolerate it online either. If I would never allow someone to behave that way towards me in my real life than they don't get to do that online and use "let's have a discussion " as an excuse while being willfully ignorant, and deliberately misunderstanding what I've said.
For example, If someone called me on the phone and started spouting racist or misogynist nonsense to me (even at my public facing job) I would simply hang up the phone. If I was sitting in the park and some stranger ran up to have a discussion with me that I absolutely did not want to have, I'd tell him to leave me alone, and then I'd leave. That's not cancelling and has absolutely nothing at all to do with free speech.
That's just called having boundaries. Do not ever castigate yourself for having boundaries online. And quite frankly I do not understand why women and other PoC seem to have this dilemma. I wouldn't stand around arguing in public with some damn fool, and I'm not gonna allow them to come into my personal space and bother me and my online friends.
As a middle aged woman I'm getting closer to the grave everyday and I've got little time left on this planet for abiding or interacting with someone else's mental and emotional nonsense.