Recreate tvOS TV app detail screen scrolling and focus behaviour

Hi

I'd like to extend our existing film detail screen on tvOS which is built in Swift UI to behave similar to the film/series detail in the Apple TV app.

When the user opens the screen the watch button just above the fold should be focused but no scrolling should happen. The user should be able to scroll down to other sections. When scrolling up and moving the focus back to the watch button scrolling should happen all the way up (not just centering the watch button on the screen).

I tried several things - adding invisible pseudo elements at the top and bottom, redirecting focus with @FocusState, setting focusSection on the container view for the content above the fold, making that container view focusable (and consequently nesting focusable views) and none of them solved all my problems.

My basic layout is like this:

struct SomeSection: View {
    var body: some View {
        HStack {
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
            Rectangle().frame(width: 200, height: 400)
        }
        .frame(maxWidth: .infinity)
        .focusable()
    }
}

struct ContentView: View {
    var body: some View {
        ScrollView {
            ZStack {
                Image("image")
                    .frame(width: 1920, height: 1080)
                VStack(alignment: .leading) {
                    Text("TITLE").font(.largeTitle)
                    Text("We would like to have this ZStack fully visible initially including these texts, also when the two buttons at the bottom are focused. After scrolling down this area will disappear, but should become fully visible again when focus is moved back to the buttons.").font(.body)
                    Spacer()
                    HStack(alignment: .bottom) {
                        Button("firstButton") {
                            return
                        }
                        Button("secondButton") {
                            return
                        }
                        Spacer()
                    }.padding()
                }
                .padding()
            }
            .frame(width: 1920, height: 1080)
            SomeSection()
                .background(.blue)
            SomeSection()
                .background(.red)
            SomeSection()
                .background(.gray)
        }
        .ignoresSafeArea()
    }
}