A gay person can absolutely still use “gay” as an insult, and that usually comes from internalized homophobia or from repeating language they learned in a hostile environment �. It does not mean all gay people do this; it means some people, including LGBTQ people, may absorb negative messages about their own identity and direct that stigma at others �.
When someone uses “gay” to insult a “street” or homeless person, the real target is usually stereotype and dehumanization, not sexuality �. The insult works by treating “gay” as something negative, which is why it’s harmful even when the speaker is gay themselves �.