It depends on the criteria. I have made my own list (separated into 1 and 2) using a programming language and the words contained in the standard dictionary (March 2020), with the following conditions:
- Words like loanwords and old Hangul words, phrases, and proverbs are all excluded (They have no prescribed pronunciations).
- Simple rules regarding 겹받침, 구개음화, 파찰음, 자음 + ㅢ, and nearby consonants are used to guess the pronunciation of every word.
- The rules regarding Hanja characters and complex rules regarding 된소리 are not considered (Some may be predictable when you know the rules, but I have regarded them as unpredictable ones).
- The pronunciations of (-)밟- (e.g. 밟다, 짓밟다, ...) are all predictable ones.
- 장음 (marked with the symbol ː) is ignored because it is little worth considering 장음 at the moment.
- For the pronunciation of a word to be regarded as predictable, the guessed pronunciation has to be the same as the correct pronunciation or one of the two correct pronunciations (Please note that the guessed pronunciation could be none of them even when it is also correct according to the rules. For example, 시곗바늘 can be pronounced as 시계빠늘 or 시겓빠늘 according to the dictionary, but 시곋빠늘 is also correct).
You can convert the list into a table using a spreadsheet software, such as Microsoft Excel. The number of words in the list is about 20k, 6.4% of the words processed.
These Korean phrases are shown on the first line:
사전 어휘: Dictionary word
한글만 남긴 것: One with Hangul characters only
규정 발음: The correct pronunciation(s)
예상 발음: The pronunciation guessed by the program
If you are in doubt, you can create your own list using the dictionary data open to the public. It will get more complicated if you deal with phrases and loanwords.
In your question, you mentioned
As far as I know, the only cases are in 한자어.
but now, you can find that this is wrong. For example, 물동이 is pronounced as 물똥이, but it is not 한자어. I would encourage you to read 표준어 규정 to catch some important phenomena (keywords: 사이시옷, 합성어, 파생어, and 한자어) relevant to the "unpredictable" pronunciation.