Então Raphael, é estranho porque, ao criar o emulador, são escolhidas as opções da versão mínima e a versão alvo que o aplicativo irá rodar. Então, ao escolher essas opções é para rodar em todas as versões entre (e inclusive) a versão mínima e a versão alvo, e testar se funciona normalmente.
Acredito que o ideal seria ter emuladores de várias versões do Android e aparelhos, para ter certeza que não terá problemas. Mas também sei que isso é muito difícil para o desenvolvedor individual.
De acordo com as propriedades do seu projeto, deveria ser compatível com qualquer versão do Android entre a 5.0 (API 21) e 9.0 (API 28):
Quanto a outra forma de fazer as trocas de páginas, essa é a estrutura do MVVM.
Fiz o teste usando o meu celular (Galaxy J7 Android 9.0), peguei o projeto do fim deste curso e ele deu um erro sobre suporte a armeabi. Cliquei com o direito no projeto Droid e fui em propriedades. Na aba Opções do Android, selecionei Avançado lá embaixo e em Arquiteturas com suporte selecionei todas e compilei. Depois disso foi normalmente.
Pode ser que a execução diretamente no celular deve ativar alguns problemas de configurações, como esse.