Are you including the script with a script tag, or are you actually loading it in async?
If it's just a script tag then we recommend you place the script tag inside an html import, and link to that import at the top of your element definition
If you're loading in a library asynchronously then you could leverage core-shared-lib
With core-shared-lib, elements get notified when the dependency has loaded so they can kickoff and do their thing. We use it in the google-apis element
Which we then use in pretty much all of the elements in GoogleWebComponents