A criminal is someone who has committed a crime. If this person tells himself he's not a criminal, he's wrong.
A homosexual is someone who prefers the same sex to the opposite sex. If this person tells himself he's not homosexual, he's wrong.
I'm not sure how you can keep stating an illogical definition for the word "homosexual", especially when you just put the logical definition for criminal next to it. Almost every term we give to someone is based upon actions they have taken. We call a criminal a criminal because they have taken criminal action. We don't call them a criminal for wanting to take criminal action, or being attracted to criminal action, or desiring to be a criminal. That would be ridiculous. Yet you expect to call someone homosexual for those same reasons, which is equally ridiculous.
A homosexual is someone who chooses to have romantic and/or sexual encounters with someone of the same sex. If that person tells themselves they are not homosexual because they actually want to have romantic and/or sexual encounters with someone of the opposite sex, they're wrong.
Again, if your reasoning is "you are what you say you are", then I'm a billionaire because I say so. When the pile of money falls on my head to make that happen, then your argument will make sense. Until then, you've got nothing.
So you're saying that there is no logical reason why someone would be in a relationship with someone of a gender that doesn't attract them?
No. I'm saying there would be no "wish to be straight" in the first place. If you want to be straight, then choose to be with people of the opposite gender. It's that simple. Unless someone is forcing you to choose who you are with (in which case that should be reported to police), then there's no reason to say anyone would ever have to "wish to be straight".