FWIW yesterday we announced that WebSocket messages are now billed at 1/20 of a request, rather than a full request. It was kind of buried in this omnibus blog: https://blog.cloudflare.com/workers-production-safety
Edit: Oh wow, I totally missed the rate limiter thing as well. Just last week I was implementing my own using DO. It's great to see this developments.
Oh and somehow I missed the Hibernation API announcement. Paying for idle but connected time is what made me nope out of trying it out.