If StandardKernel is disposing, its singletons are disposing too. I guess it would be correct that IAsyncDisposable singletons will be disposed too.
Or, may be, it is correct to put IAsyncDisposable to the KernelBase too, and perform async-dispose if the kernel is async disposed...
Workaround is not known.