I am pretty sure this is to do with floating point precision rather than being any kind of bug. All the code is totally agnostic about where objects are so there's really nothing special about it being further away, except floating point precision issues come in to play.
I don't think it's changing size, it's just the Y position is randomly flickering up and down. This is probably because it is moving down with the bullet behavior, so it's doing y += 400 * dt where Y is an extremely large number, so this is relatively speaking making tiny adjustments to the number, likely significantly affected by rounding errors. The same errors affect the viewport positioning and rendering code.
Actually I just remembered, the engine mostly uses double precision floats, but for performance the renderer uses single precision (32-bit) floats (since they are half as big). These only have integer accuracy up to 2^23, which is about 8.3 million. So at a position of 100 million, the engine has better accuracy than the renderer, so this is probably entirely cosmetic.