Downtime with Mongo Atlas

We recently moved from the shared cluster (where we had no downtime but degraded performance) to a dedicated cluster (M20 - M40) with autoscaling enabled. We had at least two instances where we hit 95%+ CPU utilization and had an hour or so of downtime as the cluster scaled up or down (even though it says rolling-update), the connections got stale and we even had to redeploy the app.

Is this normal? What are we doing wrong?