Something I found today made me think of your cooling issue. I had the pump out for an impeller change rather than doing it in place. With it open in front of me I saw rubber in the pump outlet. 6 impeller vanes were jammed in that 90 degree bend. I could see a dam of interlaced rubber allowing slow flow by but with increased flow becoming more restrictive as it gets pushed against the opening. If you take your pump out (two bolts and two hoses... pretty quick) you can shine a light in the outlet and you should see pipe at the bend. If you pop the impeller out you should be able to stick a screwdriver in the outlet and see it down the small outlet of the pump body to make sure you have a clear path. Seems basic, but judging from the six vanes I pulled out today, they've been there a long time. Worth a look if the mechanic already cleared your heat exchanger.
Failing that, I'd go to each step you can isolate a part of the system. Run the engine with the pump outlet disconnected and see if you get the same reduction when at high revs. Then go down stream test by test until you find the first connection that shows reduced flow and you'll have isolated where the blockage is. Might be messy and fill the bilge, but it's only a couple runs. pump outlet, heat x inlet, heatx outlet, oil cooler inlet/outlet, siphon valve in/out, and finally the inlet to the muffler. You might want to consider the heat x and the oil cooler as a unit for the first pass. That little hose is an unlikely spot for blockage and looks tough to remove.
Just spitballin'