fix(tests): correctly call `async toMigrate` with vitest
While working on #38240, I noticed that the failing tests I was
writing didn't trigger.
It turns out that in 997c23502e, when we
migrated to Vitest, and made some functions `async`, we missed out on
making the tests themselves `async`.
This correctly applies the `async` modifier to test functions, allowing
them to correctly pass/fail when running async code.
We can also make sure that `toMigrate` is returning a Promise to
indicate it's asynchronous.