I think it has more to do with how Amazon has been very slow to adopt their newer standards on iOS. It took them forever to get the modern KF8 format working with it, and it seems instead of working toward full compatibility between platforms, they’ve opted to yet another format that only works with Apple devices.
KindleGen itself and Scrivener should be just fine, including with its newer CSS. We have tested all of the CSS that we use, as well as cross-references with Amazon’s documentation on what is acceptable. If you drop a compiled .mobi file into Kindle Previewer, it should look fine. It’s just when you try to put that .mobi file into a reader that doesn’t know how to handle it that you’ll run into issues.
It might have to do with the original source material. How are indents done in the document? If you turn on invisible characters, with View ▸ Text Editing ▸ Show Invisibles, do you see little arrows in front of each paragraph? If so the author manually pressed the Tab key in front of every paragraph. That’s something that should be fixed, as it’s no good for word processing in general (it only looks good, some of the time), and is directly incompatible with HTML-based formats, where tabs aren’t naturally handled in the output. In some readers, like older Nooks and Kobos, they can even mess up formatting entirely.
If that is the problem, there is the Edit ▸ Text Tidying ▸ Stip Leading Tabs menu command, which of course should be followed up with reformatting the text to have natural indents.
And if that is the problem, it may be Calibre converted these tabs into something more compatible with HTML. It may have done other things as well depending on your settings. It’s important to note that the .mobi file KindleGen creates is not a format for readers, but a format for publishing. Amazon does not expect it to work properly in their readers. When people buy the book, they are not downloading that .mobi file, but data extracted from it (like the properly formatted iOS version). So Calibre might have created a different type of .mobi file that is more suitable for reading.
In short: lost formatting when loading a KindleGen .mobi file on iOS is expected behaviour, and the only software that is fully programmed to load that file correctly (other than the KDP servers) is Kindle Previewer (which should be pretty accurate). So for proofing on devices, Calibre might be a better intermediate to work from, particularly since it can manage devices directly when they are plugged in, and can make intelligent conversions when uploading the book to them.