Encontré loadScript (https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/lib/load-script.js#L50), pero la etiqueta <script> que añade no tiene el atributo async, y no hay forma de añadirlo. Eso es bastante malo.
Edición: olvídalo, aparentemente los scripts añadidos de esta manera son implícitamente async… Scripts: async, defer.
TIL.
Eh, demasiado cansado ahora, volveré a esto más tarde.