I've never used async file I/O APIs, but my understanding is that they just cover reading/writing the file itself. The size is metadata that comes from the filesystem's catalog / inodes / whatever, not the file itself, and is very cheap to get.
I suppose you _could_ get the file size asynchronously by spawning the filesystem call onto a background thread, but that seems like overkill...
