It's a very interesting question. I don't think I've ever seen an explanation for this in a grammar or course book so I'll just give you my opinion as a teacher and native speaker.
If I say "I thought you had a job", it means "I thought you had a job but I now know you do not have a job." So we're talking about a situation that belongs to the past: therefore had not have.
To express the same type of situation, you can also use the past tense when talking about the future. For instance, if a friend is coming to stay with you and he or she arrives a day earlier than expected, you can say "But I thought you were coming tomorrow!"