It sounds like it was an oil issue, over revving issue, or a worn timing chain issue.
It sounded like valve timing when out of sync and the valve(s) hit the piston(s).
Likely why the shop said you need a new engine.
The head "should" still be good (depending on how off the timing was)
valves, valve buckets, valve guides, and possibly valve seats would need to be replaced.
Pistons inspected, and lower end bearing / seals replaced.
Basically a block and head rebuild. The OEM parts don't really cost as much as you might expect, but the cost for labor would be somewhere around the same amount as getting a used engine, and would take longer.
I've done an engine swap on my car and it only took like 3-ish hours in my driveway by my self, so a shop would take less time, if they were "only" working on your car.
With a head swap, it might take longer, as they would have to work on it with the engine in the car. But it's A LOT easier to work on compared to other cars, because there is sooo much more room.
I would op'ed to keep the old head after it's replaced and have it rebuilt later with better parts.... or just OEM parts and sell it.