No it will not be a write because after the first initial asyncOpen, the try Realm method will use the cached file on disk.
I would toss it in the initial app opening sequence but probably not in AppDelegate, in your first initial VC after logging in. asyncOpen is typically tied to some initial loading screen and you can tie progressListeners to it to show the user that data is downloading.
Just saw the new 5.1 release which has a bit of a behavior change/addition from the above:
Allow opening full-sync Realms in read-only mode. This disables local schema initialization, which makes it possible to open a Realm which the user does not have write access to without using asyncOpen. In addition, it will report errors immediately when an operation would require writing to the Realm rather than reporting it via the sync error handler only after the server rejects the write.
So read-only realms can now be accessed without asyncOpen.