How can I pop a view to Root View and the push a second view?

Need help regarding navigation in SwiftUI.

I have three views currently, RootView, DetailView1 and DetailView2. RootView will feature a button to push and show DetailView1, inside DetailView1 there will be a NavigationLink to dismiss DetailView1 to RootView and push DetailView2.

struct DetailView1: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        VStack {
            NavigationLink(destination: DetailView2()) {
                Text("Tap to dismiss DetailView and show DetailView2")
                    .onTapGesture {
                        self.presentationMode.wrappedValue.dismiss()
                    }
            }
        }
    }
}

struct DetailView2: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        Button(
            "This is DetailView2",
            action: { self.presentationMode.wrappedValue.dismiss() }
        )
    }
}

struct RootView: View {
    var body: some View {
        VStack {
            NavigationLink(destination: DetailView1())
            { Text("This is root view. Tap to go to DetailView") }
        }
    }
}

struct ContentView: View {
    var body: some View {
        NavigationView {
            RootView()
        }
    }
}

Expected behaviour:
User presses NavigationLink in DetailView1, the view is dismissed to RootView and DetailView2 is pushed up.

Current behaviour:
User presses NavigationLink in DetailView1, the view is dismissed to RootView, DetailView2 is not pushed.

Why I need to do this:
My actual app has a root page that leads to a second view with Navigation links to another third page, the third page itself has a link that can lead back to the second view. This results in the user being able to infinitely loop between these two pages which isn’t exactly ideal. Hence, I wish to pop the second view before pushing the third view, so as to discourage the views from stacking onto each other.

Any help would be much appreciated!