Both are real bugs, thanks. Fixed.
Killing the chest: the engine destroys a container's contents along with it — I checked, die() leaves nothing on the ground. And salvage contracts carry no deadline, so the mission couldn't fail on its own: it sat there forever holding that planet's only contract slot, and abandoning it was the only way out. Now the salvage itself is tracked, not the chest: once the chest is gone, the mod looks for the item everywhere it could plausibly be — on your ships, in your hands or inventory, on the ground, in chests, in a car's trunk, in your corpse. Gone from all of them means gone, however you lost it — blown up, drowned, dropped in lava — and the contract fails out loud with its own message ("Salvage lost", distinct from "Deadline missed") and the usual standing penalty. That also answers "not sure how to finish it": if the salvage is gone, the mission now closes itself instead of waiting for you.
The rare salvage item: that was a generic reward branch — "a batch of the same goods, one quality tier up", which makes sense for a delivery (the planet returns part of the order from its own stock). You were handing in a wreck and getting a rarer wreck back. Salvage now pays in scrip and modules instead.
Both land in the next release 0.9.116