Something we forgot to bake into pglogical that might be worth leaving room for here: sending the whole old tuple, with some fields marked as key.
So you can use replica identity pkey or whatever and the downstream knows which are the key fields. But can still transmit the whole old tuple in case the downstream wants it for conflict resolution/logging/etc.
We don't have the logical decoding and wal output for this yet, nor a way of requesting old tuple recording table by table. So all i'm suggesting is leaving room in the protocol.