I'm willing to bet most startups have horribly unhealthy codebases, at least that has been my experience. However, it ultimately doesn't matter much. The things that matter are the things that gain and retain customers, like stability, uptime and functionality. While it's unlikely you'll have stability and uptime in a bad codebase, they're not mutually exclusive.
No - bad coding practices for a company are like bad personal health practices like eating junk food and sitting on the couch all day. It won't hurt too much when you're young, but you sure pay for it later.
The vast majority of startups fail and usually they fail early. Increasing your early chances of success at a cost in the future (which you may never need to pay if you fail) is a net gain.
The right thing is whatever the business needs to succeed and spending more time on cleaner code isn't it for startups. You're assuming employees don't know how to write cleaner code rather than them choosing not to for the sake of lower time to market.
My experience of startups isn't that the code is terrible because they were in a hurry, it's because they were inexperienced or learning to code on the job. Experienced coders might cut corners but they'll make good foundations to fix things layer.