Sherlock tends to have multiple readings built into it, which is part of the reason why I like it so much, and why I can keep writing about it months (or years) after a series of it has aired. And the question of John’s sexuality fits into that paradigm. We can discuss it for years, because you can read it so many different ways.
John’s refrain of “not gay” makes the question of his sexual orientation open and shut to many people. To me, those scenes, in conjunction with his actions and decisions in the rest of the show, only serve to highlight the fact that John’s attractions are a difficult subject for him, and he feels like he has something to prove (or disprove). It seems to me that it represents an argument he has in his head, and people making assumptions about him and Sherlock fall into his internal debate.
John flirts with women; he dates women, and practically forgets their names while doing so; he sleeps with women; he marries a woman. Sounds pretty straight.
John Watson develops crushingly intense emotional relationships with men that are so close to being romantic it’s impossible to distinguish with the naked eye. Once might be a fluke, an “exception,” if you will; but we see two of them. For all the women we’ve seen John date, it’s these two men he doesn’t want to shake. He never gets over Sherlock, and his admiration for Sholto is so obvious that it makes Sherlock jealous.
If it stopped there, we could say that John lives at least on the border of homoromanticism while considering himself a straight man. But it doesn’t stop there.