Using scrollTo(_, anchor: _) within List based upon SectionedFetchRequest

I have a Multiplatform app for iOS and macOS targets written 100% SwiftUI. I'd prefer to keep it that way, although will consider view representable options.

Its a Core Data driven app, also implementing NSPersistentCloudKitContainer,

I have a three column view, the first a List with style .sidebar, the second a List of items for an Entity in my Core Data model object graph, the third a detail view for the selected item in the second column List.

I have begun to implement @SceneStorage to persist selected rows/cells in the lists (and sidebar), which works very well.

However, if a selected row or cell is half way down the list => off screen, then the user cannot see the selection and for some reason the detail view does not show the details of the selected item, until the user manually scrolls down to the item in the list. When the selected item is revealed on screen via the manual scroll action, it is shown as selected item in the list and the detail data is only then populated.

I want to be able to programmatically scroll to the selected row/cell when that Entity List is chosen (via the sidebar list).

I'm struggling to make this work... I suspect because scrollTo(_:anchor:) takes as its first argument an ID. From the Apple Documentation...

func scrollTo<ID>(_ id: ID, anchor: UnitPoint? = nil) where ID : Hashable

Unless I'm mistaken, @SceneStorage does not accept an ObjectIdentifier ... it takes the same types as any normal property list because as far as I can tell that is the underlying technology upon when it is based (i.e. UserDefaults).

So here's my efforts to date which I might add include trawling through blogs and Q&A sites for a solution.

Note: meal.uuID is an attribute of the meal instance of type UUID.

struct MealsList: View {
    @SectionedFetchRequest var meals: SectionedFetchResults<String, Meal>
    ...
    @SceneStorage("Meals.selected.meal") private var selectedMeal: String?
    ...
   var body: some View {
        ZStack(alignment: .bottom) {
            ScrollViewReader { proxy in
                List() {
                    ForEach(meals) { section in
                        Section(header: Text(section.id)) {
                            ForEach(section) { meal in
                                NavigationLink(destination: MealDetail(...)
                                               tag: meal.uuID!.uuidString,
                                               selection: $selectedMeal
                                ) {
                                    MealRow(meal: meal, selected: meal.uuID?.uuidString == selectedMeal)
                                }
                                .swipeActions(edge: .leading) {...}
                                .swipeActions(edge: .trailing) {...}
                            }
                        }
                    }
                }
                .onAppear() {
                    proxy.scrollTo(selectedMeal, anchor: .center)
                    // also tried...
                    proxy.scrollTo(Optional(selectedMeal), anchor: .center)
                }
            }
            ListFooter(...)
        }
        .searchable(text: query) // query not shown in this sample code
    }
}

I've attempted to place the .onAppear modifier at every level of the hierarchy without effect.

Any thoughts or hints or suggestions on how I might make this work?