Having just added NavigationPath functionality to my app so that I can dismiss an arbitrary view and return to the previous, here are some thoughts:
Make sure that you are passing a binding to your child views, i.e. UserFindingView(viewPathController: $viewStack ...
All of your NavigationLinks must be the navigationDestination-dependent form (what the documentation calls "presentation links", with an associated value and a .navigationDestination modifier somewhere up the view stack to handle that value type. Note also that the top-most .navigationDestination that can handle the value's type will do so.
Because of both points in #2, if you have pre-existing NavigationLinks that aren't already operating on a unique type, you'll need to create one for those. I used per-link enum types for mine.
Topic:
UI Frameworks
SubTopic:
SwiftUI