Should have used https://github.com/uWebSockets/uWebSockets for Node.js, if performance was the objective.
The library and the the lack of clustering (so you can compare apples to apples) are the main two.
Honestly? Running at 39% of the connections on one core is pretty impressive. Especially with its low memory footprint.
Though clustering would have meant the need for another control channel.. that said, I'd be surprised if Redis + Node(clustered) didn't perform in with the leaders of the pack.
With clustering -as that has overhead - I'd expect it to perform at least as fast as Elixir or Go.
Of course you can also just use multiple cheaper single core servers too! I've seen that used a lot for certain applications - kinda overkill here tho.