It is an idiomatic expression indeed.
If it helps:
you can confer English stick, stuck, and sticky to see that the semantic fields entails a manner of adherence.
verstecken, versteckt seems to offer very similar semantics. The difference shouldn't concern us.
For sake of the argument you can substitue steckt with ist.
Second, isn't "in ihm drin" (= inside in him) redundant?
It kind of is, but then innen drin is an idiomatic collocation, especially in your construction. It can be frequently elided.
For it to be redundant you would have to pressume that it was a contraction of *dar in in. That's very unlikely. drin is a contraction of darinnen, as far as I know, but the phrase drinnen in may have formed after the contraction, with both parts covering different parts of speech.
This is similar to get off of that horse, which some argue were redundant.
Actually, drin maybe thought of as complement, whereas in ihm is the adverbial preposition that situates the complement in context.
In Ihm steckt mehr drin (als man denkt).
Logically, you might as well parse Drin as a noun in this case, which might seem paradox, but it is the only obvious parse. Cp. In Ihm steckt mehr Leben (als man denkt). This is admissable because adjectives nominalize. Cp. In ihm steckt mehr Schönes. This parsing is not so obvious in the form that you cited.
[Es] steckt mehr in ihm drin
First, it should be notable that this word order regularly requires a dummy subject, Es, precisely because Drin(nen) is not a proper noun, nor is any other constituent. Cp.? Mehr Drin steckt in ihm. (Yoda it sounds like). The usual word order would be: In ihm steckt mehr als man denkt, in which case there is a phrasal subject and we can transpose it to gain an almost acceptable variant in SVO: ?Mehr als man denkt steckt in ihm.
Second, drin can still be parsed as a determiner, not the least if dar is originally deictic. I'm sure there is a good explanation that is obscured beyond believe. And I guess that it is more common to describe it as an adverbial modifier to the verb, viz. drin stecken, but I am not sure. As one might say, da steck ich nicht drin (I'm not into it). If you want to know more about that you should open another question under the relevant topic.