Native apps are the right call when the product depends on the platform: camera behaviour, performance, or interface habits people already know on that phone. Cross-platform is the right call when most of the product is shared and the device-specific surface is small.
Two codebases cost more to keep aligned. One codebase costs more when you later need behaviour the shared layer does not do well. The choice should be written down after discovery, with the reason attached.
Either path still needs the same product work: journeys, empty states, permissions, and a plan for the month after release.