I'm not sure, from my caveman understanding, fueling doesn't seem to be an issue. I think it's going to turn out to be some weird red herring that I need to chase down.
Just a shot in the dark, but the early 19's would choke like that below 4000 rpm and it ended up being due to requested and actual timing not being in sync. Do you have a way to log requested vs actual timing?
I doubt the cause of mismatch would be the same (in the case of the 19 VW didn't program the sensor for vvt for the lighter weight oil), but you could have a failing sensor.