Here's why:
* "Thunk" is a sound word, usually describing a dull thud. It's not a verb that means "to think".
* "Thought" is the past tense and past participle of the verb "to think".
Therefore, "have thunk" is incorrect grammar and doesn't have a specific origin.
It's possible you've encountered this phrase in informal speech or in a humorous context where the speaker is intentionally using a misspelling or slang.