Frankly - it does pretty much everything I want it to. I can write code in Typescript and have it feel like there's no build step at all.
I can use ESM everywhere - frontend, backend, buildscripts, random tasks, etc - and have no problems.
That said - It's not a legacy codebase, and it's only getting hobby level usage (currently serving a few requests a second), so there might be hurdles I'm just not hitting.
Once you mix commonjs and esm and try to import from one to another, it doesnt work anymore. Since major BE libs are commonjs you'll quickly face this situation. It's not related to ts-node but to ts' core. Besides, I find ts-node not that spectacular, it hides too much moving parts/it's too high level, it might be good for starters but nothing I'd use in production.