Do all blocks that end up in the main chain pass through handle_block_to_main_chain at some point (even during reorgs?)
Looking at the source code, yes.
In most situations, yes. The one exception is when running
monero-blockchain-import with verification turned off (which is why people recommending doing this with a file downloaded from the internet are mean and out to get you).