I dont believe it is a misfire as that would manifest itself throughout more of the rev range not just clear itself after a rev point
As the flat spot isnt there constantly I would say you have an issue with fuelling. You reset the ECU and that cleared the problem for a short time but then it came back. Changing the ECU worked then it came back, changing the air flow switch worked and then it came back.
I believe something somewhere is telling the ECU at that part of the rev range the mixture is running rich and the fuel is being cut as a consequence.
As there are no fault codes the car thinks everything is fine and running correctly.
So my personal suggestion comes back to the rolling road to understand what is the actual air fuel mixture at those revs and what info is being sent to the ECU and from where.
If there was an issue with the injectors themselves it would show throughout the range but the fact that it does work some of the time points towards the physical stuff being ok but the signals being corrupted somewhere
There are some nifty ODB attachments which will send info to your smart phone as you drive along - this may be useful prior to spending on a rolling road session if you want to continue to investigate yourself