I have a simple use case where a screen pushes another screen using the NavigationLink. There is a strange behaviour iOS 14.5 beta (1, 2, 3), where the pushed screen is popped just after being pushed.
I manage to create a sample app where I reproduce it. I believe the cause is the presence of @Environment(\.presentationMode) that seem to re-create the view and it causes the pushed view to be popped.
The exact same cod works fine in Xcode 12 / iOS 14.4
Here is a sample code.
import SwiftUI
public struct FirstScreen: View {
    public init() {}
    public var body: some View {
        NavigationView {
            List {
                row
                row
                row
            }
        }
    }
    private var row: some View {
        NavigationLink(destination: SecondScreen()) {
            Text("Row")
        }
    }
}
struct SecondScreen: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    public var body: some View {
        VStack(spacing: 10) {
            NavigationLink(destination: thirdScreenA) {
                Text("Link to Third Screen A")
            }
            NavigationLink(destination: thirdScreenB) {
                Text("Link to Third Screen B")
            }
            Button("Go back", action: { presentationMode.wrappedValue.dismiss() })
        }
    }
    var thirdScreenA: some View {
        Text("thirdScreenA")
    }
    var thirdScreenB: some View {
        Text("thirdScreenB")
    }
}
struct FirstScreen_Previews: PreviewProvider {
    static var previews: some View {
        FirstScreen()
    }
}

 
     
     
     
    
 
    