(You didn't request elegance.)
Because I cannot deliver it, too. Nevertheless
In[55]:= Reverse[Fold[List, {First[#]}, Rest[#]]&[Reverse[{d, o, l, h, a, i, n, e}]], Range[7]]
Out[55]= {d, {o, {l, {h, {a, {i, {n, {e}}}}}}}}
here one has to specify how long the argument was; so let's do
In[56]:= Reverse[#, Range[Length[Flatten[#]]-1]]&[Fold[List, {First[#]}, Rest[#]]&[Reverse[{d, o, l, h, a, i, n, e}]]]
Out[56]= {d, {o, {l, {h, {a, {i, {n, {e}}}}}}}}
Stunning, that Reverse
finds its way through the expression.