The documentation for FragmentNavigator says
The current Fragment from FragmentNavigator's perspective can be retrieved by calling
FragmentManager.getPrimaryNavigationFragmentwith the FragmentManager passed to this FragmentNavigator.Note that the default implementation does Fragment transactions asynchronously, so the current Fragment will not be available immediately (i.e., in callbacks to
NavController.OnDestinationChangedListener).
How can I wait for getPrimaryNavigationFragment to be updated? What is a way that I can reliably detect that my fragment has been navigated to, including through the back button?