Yes. This is how async read works. I suggest you check the Max/Jitter/GL docs. Of course the syphon client needs to render to the destination context before the async read reads it, otherwise there will be nothing there to capture? This is called the painters algorithm, and is expected in all drawing apps.
If its not there yet, how do you expect anything to read it?