I professionally develop for iOS and Android and many platforms before that and am familiar with that and more. Struts and such are just relative layout hints for absolute positioning elements, such as buttons and text.
Isn't every layout system, Android, Windows, etc at the end of the day just relative layout hints for absolute positioning? At some point, to output to a bitmap display, a system has to do absolute positioning.
Now you can dynamically alter fonts and widgets and they'll scale, but when its done automatically by the system the results are usually terrible. Which is what you need to do when the pixel density changes. It's more of an issue on a full-screen only system such as mobile, which is why the iPad "phone compatibility mode" (2x IIRC) didn't look that great.
This isn't true. For example, when the iPhone 4 came out, it would automatically change the pixel density of some elements in apps that were otherwise not updated for 2x.
All the choices that Apple has made have been to reduce testing load and uncertainty around code. There has been nothing stopping the system for doing dynamic scaling. You can force iPhone apps into iPad apps when you jailbreak, and they'll dynamically render just fine. Apple basically did that because they didn't want developers having to worry about new configs.
It's worth nothing with iOS 8 Apple has discarded that, and told developers they will now have to worry about being rendered at any size. They haven't introduced any technology changes for this. Springs and struts, auto layout, etc are all still compatible with this idea. Apple just removed the guidance they previously had.
Just like Android, there is no reason you can't have one layout, springs and struts or auto layout, to service infinite device sizes.
Again, it's worth nothing that OS X has supported both dynamic layouts and dynamic densities since 10.4, and iOS 2.0 shipped with the exact same layout system as 10.4. iOS has supported multiple densities since launch, since like OS X, layouts are done in points, not pixels.
Nowhere in the developer tools can you actually do pixel based layouts. It's all points.
Fonts in particular are troublesome, with proportional scaling (i.e. anything other than fixed width) you don't know what you'll get.
Yes, that is true. Mac OS X by default will render all fonts at 2x scaling even on 1x displays to prevent problems as you transition between displays. However, that's a problem unique to systems where you could have both 1x and 2x displays present on the same box.