Fuel flow is important at higher RPM but there are a few other questions to ask.
1) NPS - did you disconnect it, or just do the heater test? Try disconnecting it. The heater test is a good test, but there's nothing like just tossing the NPS out of the equation altogether and being sure.
2) Is there a lot of smoke? If so, your fuel flow is likely to be good, and it's the air flow causing the problem unless at the higher rates you have an injector misbehaving. Liqui Moly Injector Cleaner did wonders for my engine (and several other members). I would suggest it as a good $30 investment (SuperCheap Auto sell it).
3) Caltex Vortex Diesel is okay (slightly better in cetane rating than Shell) but BP Ultimate Diesel has the highest cetane number and has cleaners and antifoaming agents added.
4) Not sure if yours has a SCV on the fuel pump but injector cleaner might sort that out too. Try loosening your fuel cap, if it removes the problem then either the SCV is dirty or the fuel tank breather is.
I'm assuming of course that you've checked the turbocharger - and that by saying "it is fine in 1st to 3rd" then the turbo is probably behaving properly. Still smacks of the NPS if everything is absolutely normal in the lower gears.
Here's something to try: on a steep incline, start climbing in first, then second. If the car pulls strongly in 2nd up a steep hill at 3000-3500rpm, the fuel is fine, the filter is fine, the turbo is fine, and you're back to unplugging the NPS.