.Net 5.0 Get User Email From Claims
I frequently write extension methods for IPrincipal and ClaimsPrincipal objects (depending on .NET framework version). Creating an abstraction for a business concept is a good idea, because it centralizes this knowledge (think: Single Source of Truth). If this happens to change in the future, you have one file, one method to modify. Option 1 is preferred, since it simplifies maintenance.
Some additional improvements:

Call extension methods from the object context: user.GetCurrentlyLoggedInUserEmail()
This is what extension methods are for. Take advantage of their syntactical sugar.

Do not duplicate concepts in the method name that already exist in the type it extends. This just makes method names too long for no added benefit: calling user.GetEmail() conveys the same information in a fraction of the characters.
Plus, &quot;LoggedIn&quot; is contextual, and assumes you are calling this on a ClaimsPrincipal that is the currently logged in user. This is not something the .NET type system enforces, so your method name should not make this assumption.