Just my two cents: "She's a gay" really stands out to me as awkward, if not downright wrong. That's something I'd never say.
I agree. It sounds a bit foreign, actually. Like "I'm a Spanish" 
Technically speaking - but don't take my word for it, my German may be interfering here! - I think you could take "she's vegetarian/vegan" to mean that she doesn't contain meat/animal products, couldn't you?
I think that is (or was) the idea but people use "I'm vegan" so much, and especially after reading about the girl who deliberately chooses to say "vegan" over "a vegan", I'm starting to wonder if it's about avoiding labels (you're a... something) more than anything else. I might be wrong.
I was going to add a 2nd edit to my first post, but now it seems to me the object of this endless discussion (about "He's gay" vs. "He's a gay")
I know the common saying is, "He is gay." However, gay is a countable noun, so isn't "He is a gay" more grammatically appropriate?
may have had some impact on the question of whether "vegetarian" is preferable to "a vegetarian" - at least for some people.
tl;dr
"he's gay" is both correct and idiomatic. "he's a gay", on the other hand, while not being ungrammatical, is a) unidiomatic and b) derogative.