Ummm... that may fall under the "proper circumstances" loophole I left myself in the later part of the article.
That said, I also demonstrated several approaches one can use (protocols, CodingKeys, extensions) one can use to "fix" messy server objects w/o resorting to full blown DTO's and the need to marshal data to and from them.
Again, if used as needed I have no problem with them. If you're ALWAYS using 'em, then I'd ask why. (And if ALL of my APIs were in such a mess, then I think I'd have a serious discusson with my DBA.)