Indeed, if we look at VBScript's cousin, VB.NET, we find both first order functions and async functions, at least in its newer versions.
(Keep in mind that those features weren't present in older versions of JavaScript either. Async functions were only added in ECMAScript 2016. First order functions have been there from the start, but ECMAScript 2015 greatly improved the syntax for anonymous functions with its introduction of arrow syntax.)
I'm genuinely terrified.
In VBScript that runs under Windows Script Host, callbacks are implemented using the WScript.ConnectObject method.
(I'm not sure about VBScript running under IE or classic ASP, if they could use the same method or had to use a different one. But anyway, if VBScript can do it in one context but not another, that would be a deficiency they could have easily fixed if there were a demand.)
VBScript, the syntax is aesthetically less pleasing, but there is no reason why it couldn't do anything that JavaScript can do, if more verbosely. (Of course, the semantics are inferior as well, but if VBScript had taken off, its semantics would likely have been improved at some point.)