a word/phrase for someone who appears bad on the surface but is actually good (in terms of character)

Solution 1:

Review for Crazy Like a Fox, One Principal's Triumph in the Inner City:

Wow, this guy really is crazy. His tactics are unorthidox [sic], but incredibly effective. I'll testify that his methods are flawed, distasteful, and crude but the take away is powerful!

From Merriam-Webster:

Definition of crazy like a fox: appearing foolish or strange but actually very clever

Solution 2:

Gentle giant

Someone who is very large and strong but has a quiet and gentle nature.
"At first, I was afraid of the big, burly man covered in tattoos, but when I saw him rescue that kitten from the tree, I realized he was just a gentle giant."
The Free Dictionary

Solution 3:

A sheep in wolf's clothing, usually used for comic effect.

A play on the opposite (and more usual) wolf in sheep's clothing, natch.