As a parent, you have the final word on who your 3 year old does and does not get touched by.
Don’t let any lingering fears of nonexistent ‘homophibia’ cloud that truth.
It was just a haircut, not a week at gay camp, you judged the man on his looks and “gay accent” alone, I’ve learned just this year, how faulty that assesment can be. You overreacted. I don’t believe in homophobia either and don’t want gays indoctrinating my children, but you didn’t know for sure he was gay, and he was just cutting your hair.
You really need to unclench before you pass your attitude on to your son.