Encontrei loadScript (https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/lib/load-script.js#L50), mas a tag <script> que ele adiciona não tem o atributo async, e não há como adicioná-lo. Isso é meio ruim.
Editar: esqueci, aparentemente scripts adicionados dessa forma são implicitamente async… Scripts: async, defer.
TIL.
Eh, estou muito cansado agora, volto a isso mais tarde.