Content is managed then staged (rendered and packaged into zips) on AEM-AUTHOR and published (zips replicate to) to AEM-PUBLISH. Apps running on DEVICE can check for and pull app content updates (the packaged zips) from AEM-PUBLISH.
AEM Mobile Apps (using OnDemand Runtime)
Content is managed then uploaded from AEM-AUTHOR to AEM OnDemand hosted services. AEM-PUBLISH is not used (in a typical deployment) given AEM OnDemand is managing the published content. Apps running on DEVICE can check for and pull app content updates from OnDemand services.
1. I'm not aware of a diagram that articulates this, i'll pass on the request 2. true, it is not used in a typical OnDemad app. However if your app plans to pull content directly from AEM at some point you will need one 3. OnDemand hosted services is not an AEM instance/service and does not use the AEM Dispatcher, although being a SaaS likely has its own caching and load balancing 4. AppStore host and distribute apps as there were provided by the app owner. Although the app once installed may pull in content the App in the App Store is a compiled binary that is eventually installed onto a device 5. ContentSync https://docs.adobe.com/docs/en/aem/6-2/develop/mobile-apps/contentsync.html is a framework to extract content from AEM. It is used by AEMMobile to export/etract content for use in mobile apps.