Hallo,
so einfach geht das mit dem Nachladen von Scripten nicht. Die Variante mit var scr = document.createElement('script');
führt dazu, dass das Script asynchron nachgeladen wird. Die Befahle danach werden also ausgeführt, bevor das Script geladen ist.
Die einfache Lösung, die ich verwendet habe, als mir die asynchrone Programmierung noch nicht geheuer war, ist, das Script-Tag mit document.write zu erstellen.
Die empfehlenswerte Variante, die ich schon seit Jahren verwende, habe ich hier mal gepostet:
https://forum.selfhtml.org/self/2017/feb/6/javascript-funktion-ruft-neues-script-auf-geht-das/1686462#m1686462
Bei dieser Variante musst du aber alles, was mit dem dann asynchron nachgeladenem Script gemacht werden soll, in eine callback-Funktion auslagern.
Gruß
Jürgen