This PR is related to #19303 and gets rid of the RecursiveMutex m_cs_chainstate.
m_cs_chainstate is only held in ActivateBestChain() and InvalidateBlock().
So apparently there is no recursion involved, so the m_cs_chainstate can be a non-recursive mutex.