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.