In G1 young collections the BOT is updated for objects copied to old generation regions. The BOT updates are very crude and only done for each new PLAB and for direct allocations (large allocation outside the PLABs).
The BOT is then updated to be more precies during concurrent refinement and when scanning the heap in later GCs. This leads to both more time spent doing concurrent refinement as well as prolonged "scan heap" phases in the following GCs.
If we instead update the BOT to be complete while doing the copy we can reduce the time in the following phases quite significantly. This comes with a slight regression in object copy times, but from my measurements the overall gain is positive.