Thanks for the clarification here. As I interpret it, the largest step forward would be to implement the functionality currently available through DiskArrays by implementing a new IndexStyle instead of creating a new data type. I really like this idea and have tinkered a bit with it in particular when I implemented broadcasting, but came to the conclusion that some changes to base would be needed to implement all the behavior and I chose the short and dirty path with DiskArrays.jl.
So yes, I would be happy if DiskArrays got obsolete through defining a custom IndexStyle.
Similar to @musm I don’t understand why we need an extra HDF5Arrays package. Basically the aim of DiskArrays was exactly what you describe in that section, make arrays on disk behave exactly like Julia arrays, but not just for a single backend but across backends. So all the functionality described in that section I think can be generically implemented for zarr, NetCDF and HDF5 (maybe TileDB, once we get a Julia package), and should not be specific to HDF5.
Regarding concatenation of arrays, I have a version in DiskArrayTools.jl which is optimized for DiskArrays. When working on your ChainedArrays you might want to have a look at the implementation in LazyArrays.jl as well.