I’m failing to see how anti-gay preaching can be anything BUT hateful. You think singing a cheerful song on a train is plain rude? Imagine how it is if you’re a woman or a man sitting with the love of your life and children while a man is proclaiming that your life is a sin, an error, disgusting, wrong, etc. Is it compassionate and courteous?
If you’re still believing the guy is rude or violating freedom of speech for singing, then you’re the biggest knob of all.