Get InstanceDefinition for selected object in BlockEditor

When using the Block Editor, I am listening to object selection events, and would like to be able to map back from selected objects to the InstanceDefinition it’s a part of. As I understand it, the Block Editor makes temporary copies of all of its objects, each with its own unique Guid (which is recreated each time the Block Editor is instantiated). So it seems that I can’t iterate over the document InstanceDefinitions to match based on Id. Is there any way to derive which InstanceDefinition is currently being edited?