Originally gay meant something like a happy person. Then people thought all gays were happy (I can only wonder how they got that impression in societies where it was outlawed), so they were called gays. But people hate gays, so they turning it into a hateful word of course...
So yes, to bigots, gay can mean everything which they don't like. People also call things and people they don't like other words for gay people.
I think hiding the word "gay" under it being "just a new word for stupid, having absolutely nothing to do with gay people" a lie in it's most obvious form. The word is used in a negative way only because bigoted people hate gays, otherwise it would or had never turn into that. And rather than giving up to those bigots, which would also give them the other words for gay people which they use so often about things or people they don't like, I think people should use other words. At least, you cannot deny that when you apply the name of a group of people and use that word to mean something negative, that group of people will see it as an attack or insult of them. Consider if you called something you hated Jewish.
And yes, the word can be used for cigarette in England... But it's also used in other ways which aren't nice.