I think it's more of a resource prioritisation thing.
I THINK If the resource is async, it will still scan the document to find all resources before the downloads begin. Adding preload basically just tells the browser that the resource is important and should begin the download immediately.
Found this, kind of explains it https://speedcurve.com/blog/preload-scripts/