Thanks for the detailed update as always.
This is over my elisp level, I got here mostly as a relapsed eshell user, trying to use eshell as my primary shell for the third time :)
But it sounds to me like your intuition about this could be fixed by rewriting the core 'eshell-do-eval' loop in bug#57635 can be correct. I would enjoy helping with
it, but at the moment it is above my time and elisp abilities.
Not sure what to do next regarding this bug, perhaps we should go ahead and add your comment to bug#57635 so these two are linked from both ends? Or let me know if I can help with something else,
Thanks,
Milan