If AssumeUtxo background sync is completed in this
ActivateBestChain() call, the GetRole() function
returns "normal" instead of "background" for this chainstate.
This would make the wallet (which ignores BlockConnected
notifcation for the background chainstate) process it, change
m_last_block_processed_height, and display an incorrect
balance.
This is a partial backport of core#31556
https://github.com/bitcoin/bitcoin/pull/31556/commits/226d03dd610dd65938554bcf0abfe79f7ca7fb4d
Depends on D17914
TODO: squash with D17914