It would be tough to do. I played around with a version of Nosflare that tried it. Only way it'd work where it wasn't a pain is if you pre-purchased a sum, say 50 sats for 50 notes, and then deducted from there. But it'd also be difficult for the user to keep track of it, unless the relay did somehow for them. Also, no mobile apps show relay messages, so the onboarding and informing a user when they've used up all their allotted note spend would be difficult to achieve.
I realize it's not easy that's why I was curious what kind of ideas people had. Your approach is probably the best you can do on the relay level only. Client level integration though, could make the experience seamless.