4) worse performance (sometimes)
It depends. Benchmarks I saw showed around 10-15% degradation which is not to much for having trace IDs
1) code becomes more dependent on a specific runtime (on NodeJS in this case)
Do we really have any other solid alternative to run JS server-side?
2) and 3)
Maybe. Hard to argue as it's very subjective. Generally I agree. I wouldn't use CLS for anything complex, but storing and utilizing trace IDs and stuff like that is exactly what I'd be using CLS for.