Depending the scope of changes, especially when there are breaking changes, I would deploy in a second account or beside infra #1 then migrate data from infra #1 to #2.
This would have the following benefits:
1. Lowering downtime
2. Avoiding the need of rolling forward infrastructure changes, often in panic if somethings goes wrong
3. Ensuring that data disaster/recovery works as designed
4. Controlling the migration/rollout of infrastructure
If you think about it, that's how it works when you deploy e.g. containers.
Try to implement A/B or Canary in your infra will help you can avoid all sorts of issues related to in-place fixes.