The "present perfect tense" is neither present nor past. It is in-betweeen as explained in [Wikipedia].
The present perfect is a grammatical combination of the present tense
and the perfect aspect, used to express a past event that has present
I have been to London once.
This sentence means "I was physically in London one time in my life, and it happened in the past, but the timing is not important. The important thing is I have an experience of visiting London once."
The timing could be from a couple of hours ago (even shorter) to couple of dacades ago (or even longer). Nobody knows unless the timing of the visit is specified with an adverb or adverbial phrases with the past tense structure:
I visited London 2 days ago for the first time in my life.
In your example, it is easier to understand if you change it from a negative statement to a positive one.
"I have thought he was a thief."
It means "I thought in the past (once or continuously) that he was a thief".
As the action of thinking occurred some time in the past, the tense in the subordinate clause should be matched with the past tense. If "his being a thief" is present, you could never think about his future state.
If you want to express "your past thinking that he would become a thief in the future", you can't use the present tense of the verb be. You have to use the past tense of an auxiliary verb "will":
I thought (have thought) he would be a thief.
In the negative statement, the same should be applied.