You’re trying to take a prescriptivist position on the meaning of the word “homophobia”, defining it as meaning “fear of homosexuality or homosexuals”.
But English doesn’t work that way. English words are defined descriptively not prescriptively. The definition of a word is changed to match how people use the word. When a word is commonly used with a new meaning the people who make dictionaries will change the definition to match how the word is used.
Homophobia can describe a fear or homosexuality, but it’s more commonly used to describe hostility or discrimination against homosexuals.
And as a result the Oxford English Dictionary now defines homophobia as “Hostility towards, prejudice against, or (less commonly) fear of homosexual people or homosexuality.”
Most words that end in -phobia do generally just describe a fear. But when we’re talking about a class of people, words ending in -phobia (e.g transphobia, Islamophobia, etc) we tend to use the hate, prejudice, and hostility meaning instead.
It doesn’t matter that “phobias” were at one time exclusively just irrational fears. If the majority of English speakers use the word to describe hate, that’s its meaning.
If anything, we now need a new word to describe “fear of homosexuality without prejudice towards homosexuals”. Because homophobia already means, to use your words, “a hatred of gay people”.