When an ICleanupBufferElementData is added to a Ghost via authoring, the buffer is ignored and not added to the entity. However, replacing the ICleanupBufferElementData with IBufferElementData resolves the issue, enabling the buffer to be added correctly.
Will do!
FWIW cleanup components also get stripped out during instantiation. Both behaviors are intended, for capital-R Reasons, but this is definitely not an intuitive consequence given the usual usage of cleanup components, and deserves more docs coverage.