I'd wager it is calling it but CorrelationManager doesn't work the way you expected so you're making the assumption it isn't getting called. This is easy to verify though. Log a message on each call to BeginRequest to confirm it is actually calling it.
CorrelationManager is thread specific. More correctly it uses the calling context to get the data stored in the current thread. Hence it can be used on different threads at the same time. Hence if your BeginRequest is called on thread A and the actual logging of the ID occurs on thread B then you'll get different IDs. I vaguely remember back when I originally looked at using CorrelationManager myself that for MVC it automatically started a logical operation in the pipeline. Therefore there is no reason to set the activity ID manually as it'll do it automatically but this might have been for .NET Core.
So my recommendation is to confirm that the thread that is logging your messages (which appears to be async which means it isn't) is the same thread that started the request otherwise it won't work consistently. Now to be clear things like how the awaiter are configured and whether async calls are actually being run sync will have a dramatic impact on this so it might be hard to tell.