There is nothing wrong of storing current user in singleton and use it where you need it (pass it through DI for testing purposes).
Using it in AppDelegate you don't help yourself with that point since AppDelegte is singleton by itself.
If you want to avoid using singleton than storing it with CoreData or SwiftData will be much better approach.