This seems awkward but here's how I made it work
class Settings {
@AppStorage("key") var property = ""
static var shared: Settings { .init() }
}
then in Views
struct MyView: View {
@AppStorage("key") var property = Settings.shared.property
var body: some View {
// the view
}
}