Grasshopper.Kernel.Types.Gh_Point is based on
Rhino.Geometry.Point3d and not on
Rhino.Geometry.Point. Therefore, it cannot store and will discard the information that is passed to it via UserDictionary.
This was likely a design decision to make Grasshopper perform better with many points – a dictionary for each point is still heavy, after all.
If you want to pair the information, you could create your own AttributedPoint class and pass this information from one component to the other. However, I’d suggest to keep Grasshopper functionality intact and just pass two outputs in parallel.
for Robert McNeel & Associates