I wouldn’t blame the “ever expanding” abstractions as the root cause behind lower quality. Adding layers of abstraction is how we make ever more complex software. It’s misleading to think that just because the main human interface idioms have remained similar (mouse, pointer, windows, task bars, etc), there hasn’t been an astronomical increase in depth and complexity of what one can do on one’s system.
And it’s not all bad. Yes, SwiftUI can be glitchy but at the name time, it gives us an extremely simple API to create everything from complex UIs to widgets. Yes you have “more control” with App/UIKit but that comes at the cost of extra learning curve and development time. And we live in a world that’s unfortunately still driven by money, so every app or system has some constraints that push the limits of what we can do.