I have a partial solution: The white king is not disguised as a white piece nor pawn.
Explanation: (EDIT: the hiding doesn't work, so don't read what's coming if you want to solve it yourself)
- a4, b7, Nc4, c6, Nd7, f7, g6 are all covered by black pieces
- Qg8 is next to black's king
- Rd5, e4, Bg4 and h5 still need explanation, see below.
The latter are ruled out by tracing back what happened:
- The game ended in checkmate with Qxg8#.
- The queen could only come from f8, because from g7 the black king is already in check before white's move. So Qf8xg8# is the last move.
- Black's last move must have been a piece move to g8 to block the queen check from f8. This move could only have been a knight move from f6 or h6. Why not a rook or queen move from g7? See later.
- Where did the white queen come from before she checked on f8+? The only possibility is h6, otherwise the position is a check before white's move. This rules out the queen or rook move from g7, but more importantly, also the knight move from h6. The knight cannot suddenly appear on h6 once the queen moves Qh6f8+. So black's last move was Nf6g8.
- Since black's knight was on f6: Rd5, e4, Bg4 and h5 can't be the white king, because they were attacked by the knight.
As a result, the white king is not disguised as a white piece or pawn.