You might be interested to look at Drab in the Elixir / Phoenix ecosystem. It takes advantage of the lightning fast view layer of Phoenix as well as Phoenix Channels to manage everything.
Approaching 1.0 it’s the most unique approach to the problem I’ve seen.
Drab is a hex package, so asking if it supports hot code reloading isn't the right question. As to the second question, the answer is yes assuming your server side hot code didn't break the client session, and didn't introduce an API mismatch.
Approaching 1.0 it’s the most unique approach to the problem I’ve seen.