Part 1 - Deal with race when concurrently updating scroll offset from APZ and other places