The code
With[{matA=Partition[Alphabet[],5],matB=Partition[Range@25,5]},
(* matA and matB are 5x5 matrices*)
MapThread[List,{matA,matB},2]
]
is fairly straightforward. The MapThread part does 'interleaving' if matA and matB are thought of as image channels.
How do you do this with plain Thread?

Thread? If you already have a solution, can you perhaps explain what problem you are trying to solve that your current solution does not address? – MarcoB Mar 19 '22 at 20:58MapThreadoverpowered per say, but it seems overly generic. I don't need to apply an arbitrary function -- I only want to apply List when I have expressions with other Heads to begin with. – Adam Mar 19 '22 at 21:05