I did a trick like this, worked for me.
In SceneDelegate.swift, I modified auto generated code.
let contentView = ContentView()
if let windowScene = scene as? UIWindowScene {
   let window = UIWindow(windowScene: windowScene)
   // Trick here.
   let nav = UINavigationController(
       rootViewController: UIHostingController(rootView: contentView)
    )
    // I embedded this host controller inside UINavigationController
    //  window.rootViewController = UIHostingController(rootView: contentView)
    window.rootViewController = nav
    self.window = window
    window.makeKeyAndVisible()
}
Note: I expected embedding TabView inside NavigationView would do the same job, but did not work, it was the reason of doing this trick.
I assume, contentView is the View that you want to pop to (the one includes TabView)
Then in any view navigated from that view, you can call
extension View {
    func popToRoot() {
        guard let rootNav = UIApplication.shared.windows.first?.rootViewController as? UINavigationController else { return }
        rootNav.popToRootViewController(animated: true)
    }
}
// Assume you eventually came to this view.
struct DummyDetailView: View {
    var body: some View {
        Text("DetailView")
           .navigationBarItems(trailing:
               Button("Pop to root view") {
                   self.popToRoot()
               }
           )
    }
}
// EDIT: Requested sample with a viewModel
struct DummyDetailViewWithViewModel: View {
    var viewModel: SomeViewModel = SomeViewModel()
    var body: some View {        
        Button("Complete Order!!") {
            viewModel.completeOrder(success: { _ in
                print("Order Completed")
                self.popToRoot()
            })
        }
    }
}