The framework here is fairly general and you should be able to run other code directly under Xen eg Python. Node would be harder as there is no threading which libuv needs.
There is threading in the underlying framework. In fact, since there is no VM support, threading is all you have.
However, there is no pthread support which is probably what you are referring to. I don't think pthread support would be difficult to add. Most likely it's trivial in case non-preemptive run-to-block threads are ok. If someone has a use case for pthreads, I'm up for a discussion.
Async file IO on Linux is a bit odd, although it is gradually getting better. It only applies to unbuffered IO (I think still). So you have to use a thread to read or write. Windows has a more usable version. There is a Unix standard API but it is just implemented with threads normally anyway.