You are right.
It is considered insulting by most people.
Although "gay" or "homosexual" is the most common definition, it is only one of its many meanings. It can mean, for example, "cigarette" or even servant. And "fagot" can mean sticks used to start a fire. It is not an easy word to use correctly because the meanings in British English are not always the same in American English. It would be like saying "cusco" instead of "vira lata". Someone from RGS would understand, but in other regions people would have no idea what you were talking about.
Student or Learner