I agree with all that, but one thing I am fairly certain of is that the line as to what should be allowed and what shouldn't should not be in a place such that it is impossible for people to suggest it is in the wrong place. This is what has happened to Peter Tatchell.
And I think it has happened all through the discussions on where to draw the line. 'You may claim to not be a racist but in supporting the rights of racists, you are supporting them'. What I am suggesting is that those who are following this route follow that logic.it may be wrong but you have to deal with it, and with the issue that some who find themselves no platformed because of it have used similar logic in the past.