First: this is based on an intermediary service of some kind, which holds an account of its own (or multiple?) that it puts Publications on.
That service would have a few APIs available to:
Submit page revisions
See page revisions pending approval, if approval is required
Approve revisions, if you're allowed to do that
Manage related permissions, such as who is allowed to submit revisions, or approve/reject them
Create a page, if you're allowed
Delete a page, if you're allowed
Likely it would store just the parts that changed as a revision, and maybe keep track of the full history that way.
Once the revision is published, the related page record is updated.
Each page has two records, the first being the Leaflet page itself, the other being a sidecar record (sharing the same rkey) that contains revision history. Each revision in this list has a strong-ref to an existing Leaflet post somewhere, which would likely be a Looseleaf (and it may be marked unlisted).
There is no guarantee that the previous revisions would remain available, but the intermediary service could opt to serve old versions, probably at a higher rate limit, and maybe only to editors.
With a collaborative publishing setup where multiple distinct accounts can publish to a Leaflet, it could be possible for advanced use cases (think Wikipedia scale) to split their pages across multiple PDSes (by having multiple accounts across them). Keeping the revisions around could also help fill the holes in the event one of the PDSes goes down, or the entire wiki either goes down or needs to be forked. (A separate archival service would be great here, although it may deserve special logic to handle record deletions in this specific case).
An archival service handling deletions for a revision record, which contains the full state of a page at a given point and is what is submitted for approval at the canonical source, would likely keep the record itself while detaching it from its author, since the revision owner isn't the actual page owner. But if the page itself gets deleted too, all the revisions can be purged (deleted and not deleted).
...but at that point, why not just use MediaWiki?