In my case I had 1 software thread per thread, I'm not sure if over-subscription would make any difference. Also, out of ordering processing is only possible in the absence of data dependencies (I have no idea how to even go about measuring this). Also tree structures are no different to random walks from the hardware's perspective, i.e. the hardware has no useful predictive ability to prefetch data in this case.
The main point was that it's so cheap to test, there's little value in speculating about architecture specifics few are qualified to understand, assuming they're publicly documented in the first place