Meus 10 centavos sobre o assunto. Já trabalhei com desenvolvimento nativo quando o padrão ainda era Java e Objective-C para Android e iOS, depois passei para o Kotlin e Swift e por fim o Flutter. Sabendo bem a estrutura do nativo vc consegue praticamente o mesmo resultando, lembrando que o Flutter "desenha" os componentes na tela pixels por pixels o que permite até mesmo que vc crie os componentes para atender o padrão visual de cada plataforma.
Já sobre o acesso as API's nativas como por exemplo Bluetooth e afins é possível por meio dos Channels realizar a comunicação usando o nativo, inclusive estou trabalhando num projeto de comunicação com beacons utilizando a comunicação nativa do Android via bluetooth.
Sabemos que na TI não existe bala de prata, e que também não devemos terceirizar as decisões sobre quais stack's utilizar para solucionar o problema. De qualquer forma fica aqui minha opinião.