Oi Vinicius, tudo bem ?
Cara alguns pontos para pensar, funcionar offline e fazer comunicação não acho que vá rolar, a não ser que role uma infra extremamente daora, sei lá, ter uma infranet, ou pontos bluetooth, algo assim.
Para esse tipo de sistema acredito que qualquer frente de desenvolvimento deva servir.
O que você precisa saber é, se fizer em Java/Kotlin vai estar usando a forma mais nativa possível, que o recomendado pela Google para gerar aplicativos, a vantagem é que aqui você vai ter tudo que precisar do celular, todos os recursos e afins, o problema é que vai ser apenas para Android, você teria que fazer outro aplicativo para o Ios e WindowsPhone.
Caso você opte por fazer em Xamarin, ele já ganha no ponto de gerar o aplicativo para as três plataformas, mas pode ser que alguns recursos do celular você não tenha, fora que é necessário ter conhecimento em C#.
Já Ionic e Cordova, também já geram o aplicativo para todas as plataformas, a diferença é que você faz todo o código em html, css e js, e por isso você acaba perdendo basicamente toda a parte de recursos do próprio device.