This has been a huge help as I ran into the exact same series of issues – thank you!
Since you use chrome.storage, I would just flag this concept of a storage adapter was very helpful for managing that under the hood: stackoverflow.com/questions/76572760/auth-in-chro…