A proof carries position as well as hashes
For a binary Merkle tree, every sibling hash needs a left/right direction. If the compression hash is not commutative, swapping children changes the parent. The verifier folds from the leaf toward the committed root using the exact protocol encoding.