Isn't Mercurial different only in nomenclature? The manifest id stored in a changeset is a tree snapshot.
Otherwise I don't think hg-git would work as transparently as it usually does.
They did add it; I think it wasn’t there in v0.1[0].
Nowadays, the revlog contains a sequence of either snapshots or deltas[1], a bit like video codecs I-frame and P-frame, except the heuristic is how much data must be read to check out the file; so most are likely deltas.
They’re different in the their implementations of how repositories are stored on disk. Other than that, you’re right in that the two systems have a gigantic (almost one to one) abstract/conceptual overlap.