I’m assuming the D.D.S is just a mistake in the manual. It happens. SEMoS goes its own way on a variety of things, including this one. CMS recommends no periods for academic degrees, unless it fits “a journal’s established style.” This is our “established style.” :)
A D(r)Ph and a PhD are not the same thing. I’ve only ever seen a DPh as DrPh, though. SEMoS should probably specify what to do with PhD; it is far more common than D(r)Ph. (Should we include the hairspace between the Ph and the D like the opposite? Should we include initials? Etc.)
SEMoS 8.10.5 answers the last question—if they have name-title, they don’t get initialism. (Clean sorts class names in alpha order except eoc, but I don’t believe we do that for epub:types.)
Although “absolute mess” is a bit strong, it is quite common to see multiple things in the corpus for a given rule. First, rules change over time, and often the corpus is not updated when that happens if it’s too burdensome or there’s no one to do it. More importantly, everyone involved here is human, and we miss things, as producers, as reviewers, as the EiC. This is why I repeat, it feels like weekly, that if SEMoS says do X, it’s irrelevant that Y and Z exist in the corpus: X is what we do.
It should (might?) be possible for lint to search for a known set of degrees and other related abbreviations and determine whether they had the correct epub:type. As always, it just requires someone to do it.