Good question set and some thought here:
1. Bots are indeed the right mechanism to get the dataflow that you want. Ideally you'd do it on an event driven basis, but possible to execute on CRON as well. Basically, whenever a new Patient resource is made, synchronize it to Custoemr.io via API and save the identifier in Medplum as well.
2. Tracking milestones can be done via Tasks
https://www.medplum.com/docs/careplans/tasks and hooked up to subscriptions and bots to customer.io
3. Relying on Medplum is possible, but you'd still need byo email, SMS providers. Medplum does support websockets, so in app messaging and push notifications are supported.