It works this way because the formula calculates your WN8 over your account-wide stats ((a+b)/(A+B)) and not for each tank (a/A+b/B)/2, and because (a/A+b/B)/2 is not generally equal to (a+b)/(A+B), there is a discrepancy. It would be too computationally intensive to do it the other way, because there is just too much data to process for that many accounts at a time (on WoTLabs' or XVM's end).
Naturally, since damage is the highest weighted stat in the formula, battles in higher-tiered tanks are going to have a greater influence on that part of the formula and therefore the final result.