You know how sheets inherit the Environment in SwiftUI?
One would expect it works the same for Preferences: .preference(key:value:) in a sheet can be read using .onPreferenceChange in the top-level View outside the sheet.
It doesn't. Preferences stop at the presentation boundary.
Documented nowhere.