I think an important take-away from this is that Lemmy pushes changes between instances, it does not synchronize. Instances get out of sync when changes get lost (as you describe) and I don’t think there is a mechanism for the destination to know it it out of sync with its peers.