This is a interesting discussion. I think it would be valuable to extend it into the context of cloud-distributed storage, as I outlined here: Solving the failing-remote problem – new virtual backend "craid3" (Request for Comments).
In such a design, we could distribute metadata — such as filenames, directories, and hashes — across multiple cloud providers. Additionally, verification codes for both data and metadata could be stored redundantly to detect and verify any unauthorized modifications.
This approach might bridge end-to-end encryption concerns with the reliability and integrity guarantees of distributed storage.