Cannot render ScrollView + VStack + ScrollPosition correctly scrolled initially

The following code works properly, ensuring the list is scrolled at the correct ID when first rendered:

import SwiftUI

struct DataItem: Identifiable {
  let id: Int
  let height: CGFloat
  init(id: Int) {
    self.id = id
    self.height = CGFloat.random(in: 100...300)
  }
}

struct ContentView: View {
  @State private var items = (0..<1000).map { DataItem(id: $0) }
  @State private var scrollPosition: ScrollPosition

  init() {
    let mid = 500
    _scrollPosition = State(initialValue: .init(id: mid, anchor: .center))
  }

  var body: some View {
    ScrollView {
      LazyVStack(spacing: 8) {
        ForEach(items) { item in
          Text("Item \(item.id)")
            .frame(height: item.height)
            .frame(maxWidth: .infinity)
            .background(.gray)
        }
      }
      .scrollTargetLayout()
    }
    .scrollPosition($scrollPosition, anchor: .center)
  }
}

However, if I change this to use VStack this ceases to work - the list begins rendered at the top of the list. The only way I can render it starting at the correct position is using side effects like onAppear or task, where I would update the scroll position.

I have observed the following behavior on my iPhone 15 Pro/iOS 26. Is this a bug?

Cannot render ScrollView &#43; VStack &#43; ScrollPosition correctly scrolled initially
 
 
Q