That is a pain! No visible leaks, including from water pump area? Sometimes accompanied with bearing noise and a stain in the line of the alternator belts etc. flicking onto the inside of the bonnet in line with it or water drops under that area of the engine often only when engine is running.
Re the head gasket , I would CAREFULLY remove coolant cap with engine warm and coolant level topped up, then with someone holding accelerator at about 1500/2000 rpm overfill coolant till almost at top of neck and watch for a few minutes, if level starts to rise, sometimes with gas bubbles which smell of combustion/exhaust that is a good clue.
As a garage to be conclusive and to pinpoint which cylinder gasket was blown at I would do a leak test.This involves a special tool. However a reasonably competent DIY can do it with a a compressor, airline and a spark plug adaptor. What it involves is with all spark plugs out test each cylinder with engine locked at TDC on the firing stroke for that cylinder. You introduce 150PSI from the airline again the engine must not turn from TDC. The good thing about this simple test is with coolant cap off and water to brim if gasket leak/cracked head etc. water level will rise. It can also show worn pistons if air can be heard from oil filler, exhaust valve leak if air can be heard at tail pipe, inlet valve leak if from air intake area etc. The beauty is it tells you exactly which cylinder to investigate.
Some garages use a "sniffer" which smells the coolant for exhaust gas and changes colour. The test I suggested is more accurate but takes longer.
If head gasket again, I would ask if head was skimmed, block checked for "flatness" head bolts correctly torqued and retorqued if settings say so and a good quality gasket set used. Also was the initial cause of the overheating that caused the failure fixed! Head gaskets don't just go for no reason!
Sorry to go on, it's the 50 years of motor engineer bit