If you only need to know which instances were destroyed, then you obviously don't need to save their full state as JSON. If you place these objects manually on the layout, they will have fixed UIDs, so you can simply store the list of UIDs which were destroyed. Use an array:
Player on collision with sprite: Array Push back Sprite.UID, destroy Sprite
.
However, if you need to know which instances were destroyed and also save all properties of the remaining instances, you can't use IIDs.
From the manual:
Since you are destroying instances, you need to use UID or a different (custom) identifier. Say, add an instance variable "Code" to the sprite, set a unique code for each instance.
When leaving the layout:
For each Box : Dictionary add key "Box."&Box.Code with value Box.AsJSON
When returning to the layout:
For each Box
Dictionary "Box."&Box.Code exists : Box set from JSON Dictionary.Get("Box."& Box.code))
Else : Box destroy