Once you know a block you want there is no need to download it in order, so parallel. We store in parallel as well, marking the block confirmed at the point where it’s validated in the strong chain. Every new strong block is a reorg, even if the weaker branch is empty.
(edited)