Preload and PreloadAsync always existed in parallel. Preload was used to load singular assets, while PreloadAsync accepted a table of strings. In accordance with the material from that thread, Preload was ditched (and thankfully so), while PreloadAsync was changed to accept Instances as parameters.
Despite the fact that PreloadAsync still accepts strings as values to be passed into PreloadAsync to make it backwards compatible for its former behaviour and because many games started using this before the behaviour was changed, I wouldn’t rely on automatic coercion of strings to the image asset type. It’s good practice to keep your arguments uniform where necessary - in this case, passing only Instances and not including any strings.