The vertex weights were actually interpolated correctly. The issue was that vertex group names were removed from the output geometry set. We have to keep track of these names separately from the mesh, for legacy reasons. Vertex group names are not stored on meshes but objects instead.