Initializing Avalanche requires the ChainstateManager to be initialized first. In a next commit, when backporting https://github.com/bitcoin/bitcoin/pull/22564/commits/5921b863e39e5c3997895ffee1c87159e37a5d6f, the chainman will be initialized after the loading of the block chain.
As far as I can tell this is OK because at this point the Avalanche event loop is not yet started, and the other components don't use Avalanche at this point. It starts being accessed when the node is started at step 12.