Wow Op, it actually sounds like you are with my ex. This was exactly what it was like for me for years, me giving him massages and bjs, but getting zero in return, eventually not even piv. Not even being touched while doing it. He had no interest in getting me out of clothes or giving me any form of sexual affection.
I felt exactly like you do, felt I must be repulsive if he didn't want to go near me in a sexual way, although that doesn't make sense when he was happy enough for me to touch him.
When I brought it up (gently) he would say I was making him insecure.
Until one day he dropped the bombshell and said (I shit you not) that I should be getting enough pleasure from just pleasing him and his enjoyment should pleasure and gratify me enough since I love him. If that's not the case and I want something in return I'm the selfish one making it transactional.
Sadly this logic obviously didn't apply the other way round.
I tried what you are considering and just stopped giving and thought I'd wait for the day he'd make the first move, as I needed that to feel somewhat desired. Sadly that day never came and we didn't have sex for years.
Like yours, he was a great guy in many other ways, so I still feel incredibly guilty for eventually breaking up with him and shattering the life we shared.
However when talking this through with my therapist, she actually pointed out that withholding intimacy in a relationship is actually abusive, so I was not unreasonable at all for ending it (although that was not the only reason in the end, it was definitely the start of problems).
Sorry for the wall of text, but felt I wanted to write as this sounds so similar to my experience.
I can't tell you what to do and what weighs heavier for you in the total sum of the relationship. For me the decision was incredibly difficult and I still miss parts of the life we had together. So it is not all black and white.
I'm your case, hopefully he might be open to seeing a sex therapist, if you don't want to end the relationship?