I disagree.
The whole point of freedom of speech is that you can have a different opinion without being crucifixed for it. However, this is offensive to people. This is hurtful. This is so painful for a lot of people. That is not why freedom of speech is part of the Western civilisation (Western, because most Europe agree on freedom of speech too)
Talking about Europe, where I live, you are allowed to have your own opinion, as long as you respect others feelings. The Phelps don't do that and cause hate and anger towards about everyone on this whole planet.
That's the difference. This is not freedom of speech anymore. This is freedom of hate-spreading.