Plaintext HTTP/2 is rarely worth it
HTTP/2 comes in two forms: h2 over TLS negotiated with ALPN, and h2c upgraded from plaintext with Upgrade: h2c. Browsers implement only the first; h2c shows up in service-to-service calls and some proxies.
Enabling h2c on a public site buys nothing — browsers will not use it, and it adds an entry point to maintain. Internal gRPC is different: it speaks HTTP/2 frames directly and needs no upgrade dance.
In nginx, listen 80 http2; produces a warning and surprising behaviour: plaintext h2 only works for prior-knowledge clients, and ordinary browsers stay on HTTP/1.1.
Conclusion: h2 on 443 only, plaintext stays HTTP/1.1.