I should have finished this much earlier, but my breadth-first search made the mistake of returning as soon as it tried to enqueue a path to the destination, without considering that there might later appear a shorter path to the destination. Nothing was helping me figure that out, not even comparing to known solutions! Then I noticed that there was a large gap between my previously-considered level of heat loss (1043 or so) and the reported result (1060) and the proverbial went off.
I might add more later, but for now, here’s a quick 'n dirty visualization of parts 1 and 2. Brighter shades indicate more heat loss. I’d be curious to know if other participants likewise see a “bulge” in their data, or if there’s a different pattern.