Speckle operates on the basis of "lossy interoperability". What this means is that, for example, things might change in transit to better accomodate the host environment in which you are receiving data.
There's a couple of more in-depth reads on how things actually work behind the scenes, namely:
Below you can find a summary of what currently works and what doesn't, based on the currently available kits:
Core geometry is used for Rhino, Grasshopper, Dynamo, a bit in Revit, and threejs (webviewer).
Speckle Elements are used in Revit, and in Grasshopper via the Schema Builder component.
Speckle Elements are used in GSA, and in Grasshopper via the Schema Builder component.