I haven’t tried your code, but assume it would be a good approach.
The code I’ve posted above is what I currently have working based on the AWS Amplify documentation and the extra line that fixes the change detection issues it causes.
The ion-router-outlet is wrapped in the ion-app component by default when you create an ionic app with the blank template.