Yep I'm aware of the tradeoffs. Not everything should be free, and just like NIPs could be optional. Proprietary backends are not swappable, at least not as easily as a relay
As far as data flows its mostly clients querying relays for small subsets of data, effectively using them as open APIs anyway. For relay to relay negentropy is more efficient