Now that more NIP-29 clients are starting to be available is probably worth specing a way to store the user's last seen event by group and kind to sync read state between clients.
Best I've come up with: https://github.com/nostr-protocol/nips/pull/1405