Yes, we intentionally collapse the shape in an Alembic file into the parent location on load. Any location in Gaffer can have both a primitive (mesh, curves, etc) and a transform (matrix), but in Alembic (as in Maya) a location is either a transform or a shape. So we can gain efficiency by significantly reducing the number of locations in Gaffer, without any loss of data.
Efficiency isn't the only reason though. We want to be able to round-trip scenes from Gaffer into Alembic and then back into Gaffer. Taking the output from a Sphere node as an example, in Gaffer we have a single location with a sphere primitive and a transform. Alembic can't represent that in a single location, so we have to write out an Xform and a PolyMesh separately. To get back the original scene when reloading the Alembic, we need to collapse the shape back into the transform. So its about consistency too.
Hope that makes sense...
Cheers...
John