You're not wrong, but you went an awfully long way to get there.
Bottom line is that MVC-style delegation won't work in SwiftUI not because "views" are not reference types, but because in SwiftUI "views" are not views in the way we used to think of them in UIKit.
They're ephemeral definitions, not even of views, but of our interfaces. A given SwiftUI "view", like VStack, might not even generate a corresponding UIView. A SwiftUI "view" may be a view, or a layer on a view, or, in some cases like VStack or HStack, just a set of layout definitions.
SwiftUI view definitions are also constantly being created, compared, evaluated, and discarded, diffing "old" views with new ones whenever state changes. This can often occur behind the scenes, and without a "view" actually being rendered.
I wrote about this in some length in https://medium.com/swlh/deep-inside-views-state-and-performance-in-swiftui-d23a3a44b79