I think you've summarised the problem very well.
The Nil Coalescing blog "Using foregroundColor(), foregroundStyle() or tint() to set text color in SwiftUI" explains well the differences between .foregroundColor and .foregroundStyle and makes it clear that the reason .foregroundColor otherwise still works it because it still return Text rather than View.
It would be great to get some official guidance from Apple on this given we're now approaching WatchOS 11, everything is WidgetKit etc....
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: