Pieter Wuille's answer is pretty good. I'll expand on it by pointing out that for technical reasons, the OpenTimestamps infrastructure can't just "make a merkle tree": under the hood there's a bunch of other operations that have to happen for various technical reasons that just don't fit into a strict merkle tree architecture. Representing timestamp proofs as mathematical commitment operations gives the infrastructure the technical agility to do all this stuff without having to burden clients with knowing about it.