You can implement your error view in your root view with an if statement and show/hide the error view using either an environment object or a shared model/viewmodel property. This way you can control it directly from any view and/or from the model/viewmodel itself.
Post
Replies
Boosts
Views
Activity
The second issue is most certainly a bug as well since I've been able to replicate it with a few machines running both Catalina and Big Sur. Not sure about the third issue since I'm not developing macOS apps at this time.
As a workaround, you can wrap the buttons with ToolbarItem(placement:):
.toolbar {
	#if os(iOS)
	ToolbarItem(placement: .navigationBarTrailing) {
		EditButton()
	}
	#endif
	ToolbarItem(placement: .navigationBarLeading) {
		Button("Add", action: makeSandwich)
	}
}
The same thing is happening to me. I think it may be related to the fact I'm using the Xcode beta on Catalina rather than Big Sur.