That's a great investigation, thanks! We can't really fix the benchmark, changing benchmarks invalidates historical data and confuses cross browser comparisons, so we've had to live with more than a few benchmark bugs.
However, the closed-over constructor observation is particularly interesting to me - it's hard to tell if this is a typical construct outside of benchmarks, but if it is then it suggests that we shouldn't be sharing feedback between closures of a constructor function. Call-site specific feedback would be another option that we've discussed in the past (for other reasons, e.g. calling dispatch functions). Good stuff.