You found that TeX isn't perfect. The rule 13a in TeXbook, appendix G, says that the three boxes x (limit above), y (integral) and z (limit below) are resized to the max width of these boxes (the material keeps at the center of each box). These boxes are put into vbox one above second with shifting box x by 1/2 corrital to right and shifting box z by 1/2 corrital to left (corrital is italic correction of the integral symbol). Te left and right boundaries of resulting vbox isn't re-calculated due to the shifting. If there is sufficient space around the material of the boxes x and z, then the result is perfect. But you found a borderline case where the result isn't good.
The TeXbook says that if there is a problem with positioning a math material (example $\Gamma_i$) then you may correct this manually, for example using \! or \,. So, the simple solution of your issue is
\left|\,\int\limits_{x = 100000}^{1000000}\right|
If you want to do something more sophisticated then you have to measure the italic correction of the nucleus and use it in your macro. But I don't recommend this.
\[ \left| \int\limits_{xxxx100000}^{xxxx100000} \right| \]both the top and bottom will run into the vertical bars. The issue is really with italic correction. For "short" sub/super scripts it ensures that the limits appear "centered" on integral symbol which has a slant to it. – Willie Wong Oct 20 '23 at 11:23