Have you experimented with Dorico’s Preferences for MusicXML import?
Do you have your Layout Options to show hairpins as hairpins, by default, not cresc./dim. text? (Dorico treats hairpins and cresc./dim. text as the same thing, unlike Sibelius. Makes it easy to change your mind about which you want, and for that matter, easy to show text in one layout and hairpins in another, but you do need to get your head around it).
No, but I don’t think there’s an option in there to randomly move sections of dynamic around, or delete them altogether. Not all the breakages were substitution of hairpins for dynamic markings, there were plenty of places where large number of consecutive dynamics for a part were just gone (or moved to another location a long way away). Many cases where dim became cresc, where f became p etc etc. Random (seemingly).
I think this is most likely a bug, and I’m saying that with 23 years of commercial software development experience.
I looked over the MusicXML spec (in as much as there is one - only the xsd files “the documentation is the code”). There are some “questionable” design decisions made there, the one that stands out the most for me so far is the <backup…/> element. Like having to rewind the tape (the correct amount) to play in another voice in the same measure. Notes are not indexed in terms of position in a measure, and I suppose other items aren’t either. So if the durations of the notes don’t add up to a measure, I’m not sure what should happen. There seems to be a distinct lack of explanatory prose in the “spec”. The musicXML files don’t seem to use CDATA for multiline text (which therefore will treat your whitespace as semantically irrelevant, as per (IMO broken) XML specs).
Durations of things seems a bit hacky as well. Find a large common multiple of all the things you may need to multiply in order to evenly divide later. So a crotchet has a duration of 768. Must cause havoc for tuplets of unusual or prime numbers of notes, they couldn’t end up with equal durations. They could have kept to the 2 number system (numerator and denominator), or specified note durations the same way they are notated.
JSON would have been a much better base format than XML, but it didn’t exist then back in the crazy days of using XML for absolutely everything even though it fails protocol design 101 (try nesting CDATA). Easy for me to say I know.