Historically, developing an app with tools that are native to the platform provided asymptotically better user experience. So, if your goal is to perfect the UX, native is your choice.
In reality, rarely do you need to work on the UX first. It is usually more wise to sketch the idea using cross platform tools, validate the idea, then rewrite parts of it / develop new features with native technologies.
If all you're doing is creating an MVP do whatever is easiest. But yes ideally you would have two separate codebases and obviously it's dependent on your project how much tools can be shared between the projects.
In reality, rarely do you need to work on the UX first. It is usually more wise to sketch the idea using cross platform tools, validate the idea, then rewrite parts of it / develop new features with native technologies.