HTTP2 is not a suitable protocol for implementing persistent, stateful communication channels. HTTP2 is bidirectional but it's stateless. gRPC is bidirectional but intended to be stateful. WebSockets (bidirectional and stateful) would have been a better match and not required sticky sessions. gRPC essentially takes us back to the dark ages of long polling.
I was making this argument for years. WebSockets was designed for bidirectional data exchange between client and server. On the other hand, HTTP2 was designed for pushing static resources to the client to speed up loading of front ends (it was meant to make bundling front-end scripts redundant). HTTP2 was not designed for bidirectional data exchange over a stateful channel.