To answer your question "...with AAD/B2C authentication... if distributed caching is required?" I would say it depends. You need a shared store for your sessions, implemented thru cookies. It could be distributed cache (aka Redis), a file, or a database. So, pick up what bees your needs.
The mentioned Data Protection for .Net "... provides a cryptographic API to protect data, including key management and rotation.". The key word here is cryptographic, meaning you need to encrypt and decrypt your session details based on the cookie. Since it could happen in different nodes, the Data Protection has different key storage providers in ASP.NET Core: blob storage, redis, ... .
In case of node implementation, if you look at cookie-session package, to create a signature for your cookie and verify it, the shared key is used. In case of .NET and Data Protection, each node uses its own key (private?).