Fuel filter is the likely cause, I've seen this issue several times.
There's a thermostatic valve in the filter, which is designed to recirculate returned fuel to the injectors when the fuel is below 20°C. However when the fuel get above this temperature the thermostatic valve is supposed to allow 95% of the returned to pass to the tank, so 95% of the fuel the engine uses is cooler fuel from the tank. However when the thermostatic valve fails or isn't correctly calibrated (some aftermarket filters are like this), then the fuel temperature exceeds a level that the ECM is happy about, so it reduces the engine power output to prevent damage to the pump and injectors.
I'd check the filter is an OE filter firstly (the OE filter has Purflux on the top), and replaced it to eliminate it as the issue.