So I just watched the Sherlock pilot again after a few years, and it's given me some thoughts. First of all, Sherlock is really really extra. Also, he doesn't come across as cold and unfeeling as he thinks. He really tries to appear cool, and to impress John. He makes a few guesses instead of deductions to this effect.
Also from the Angelo's scene, Sherlock is clearly into men and not opposed to dating men, in this example men being John, and turns John down because he doesn't want to date, not because John is a man or because he isn't into him. He reads the room and thinks John is flirting with him, or at least into him, John says it's not the case. However when he says "unattached, like me, good" seriously John why would you say that to your platonic flatmate, and why say it like that? That's at least a little bit gay. And then there's the "it's all fine" and asking specifically bf when Sherlock says women are not really his area. The whole conversation reads like John is into Sherlock and has an avoidant attachment style or something when he turns him down. It also reads like internalised homophobia a little bit on John's part.
It was interesting to go back to the episode again after some time. They really click from the beginning and seem to understand one another really fast.
Also worth mentioning about John is he refuses to be paid to deliver info about Sherlock to someone, while he barely knows Sherlock anyway, and above all, he flat out shoots a man dead that he perceives as a threat to Sherlock (rightly so I'd say, but still), while he still barely knows Sherlock! If anything that can't be called normal platonic flatmate stuff. That's some kind of soulmate shit, at least.
And while I know the showrunners didn't intend it to come out like this, it's definitely there in the text, there's not even a need to look very deeply in it. It's barely subtext at this point, and it's only the pilot. I can't fault all of us for getting so caught up in Johnlock, but I have had time to emotionally distanced myself from it now.