Issue title: Typing a route url in the url bar goes back to home for nested navigation with tabs
 Issue body: I mimicked the example `nested_nav.dart` but instead of having the same UI with different data (families and persons), I have a totally different UI on each tab with different data.  When I use the UI tabs to navigate the url does reflect the navigation but unlike the example if I type a route, although the url has changed, it does not navigate.  Then when I push Enter in the url bar it goes back to my home page which is my `initialLocation`.  I see in the example `initialLocation` is not used so I'll try redirecting but not sure why this would break it.  
Also the pressing the browser back button changes the url in the url bar but the tabs do not navigate, similar to the problem when typing the url.  

 Comments: 
 Comment 0: I deleted `initialLocation` and redirect to `/home` now but the problem persists.
 Comment 1: Here is a video: https://youtu.be/yBTPgfxwthE
 Comment 2: Can you post a minimal repro project?
 Comment 3: I might be able to post the whole shebang.  Will that suffice?
 Comment 4: My boss has greenlighted one hour to try to make this example. Please wait.
 Comment 5: No. That won't work. Please trim it to the minimum code that duplicates the behavior. Thanks. 
 Comment 6: I have a feeling my app is the minimum reproducible example.  I just tried building something minimal without the login sequence using Flutter Login and AWS Cognito, without Riverpod, etc etc and it works fine.  And I progressed up to this point by first getting tabs to work without deep linking and then rewiring by copying the example to get the deep linking.  Doesn't it sound like a bug that the url changes when tabs are changed through GUI but not by typing?  If my app is the minimum reproducible example then what? 
 Comment 7: Anyways, please let me know if you don't want to look at the app, the rest of my company uses Routemaster and I was just instructed to try this out so it's not a big deal.
 Comment 8: If the app works fine when you remove the app specific features, then it's probably not an issue with go_router. 
 Comment 9: probably
 Comment 10: Anything routing related is going through go_router.  With the one exception when I hide the sidebar in the drawer when the browser width < 840 in which case I want to close the drawer and navigate to whatever was clicked in the drawer so it's
```
Navigator.pop(context);
                      GoRouter.of(context)
                          .go(pathZeroMap[PathsZero.settingsFacility]!);
```
 Comment 11: > What's app specific? I only used packages and whatever Flutter API's are considered above that foundation level or whatever it's called, ie. I did not dig in and try to develop my own API's to change how Flutter behaves. So if go_router or any package does not play nice with any other basically that's a problem with the app itself but not with any of the packages nor Flutter? That seems odd to me. @csells

If there's some intrinsic interaction between the packages you're using and go_router, then you're right -- those are things I want to know about. That's the work of putting together a minimal repro project w/o any app-specific logic, i.e. without any proprietary logic that's specific to your app, e.g. accessing the banking backend or whatever. 9 times out of 10, the mere act of producing a minimal repro project is how you find the bug and it's mostly not in the underlying packages you're using (whatever they happen to be) but more likely how you're using them. If you can remove more and more app-specific code, eventually you'll either find your own issues or you'll end up with the minimum amount of code required to reproduce the bug with go_router so that I can fix it.

Unfortunately I don't have the bandwidth to debug the full app of everyone using my packages. No package author does. That's what I depend on minimal repros -- it lets me work with the bug reporter on doing their due diligence to ensure that it's actually a bug in the underlying package and lets me focus on the part I know best, my own package, because you've cleared away everything that isn't related to the issue.
 Comment 12: as one example of an excellent minimal repro project, check out https://github.com/csells/go_router/issues/139#issue-1045947876
 Comment 13: @csells  I'm not going to the backend at all except to log in. There was a problem with Riverpod 1.0.0 released a few days ago so I downgraded. 
 Comment 14: Issue 139 you linked to has the problem of initial route flashing so I'm focusing on this redirect parameter of GoRouter
```
 urlPathStrategy: UrlPathStrategy.path,
    debugLogDiagnostics: true,
    redirect: (state) {
      const loginUrl = '/login';
      final loggedIn = loginInfoState.loggedIn;
      final goingToLogin = (state.location == loginUrl);

      if (!loggedIn && !goingToLogin) return loginUrl;
      
      if (loggedIn && goingToLogin) {
        return types.pathZeroMap[types.PathsZero.home];
      }

      //no need to redirect
      return null;
    },
    refreshListenable: loginInfoProvider,
  );
```
What if I'm loggedIn but not goingToLogin?
I'm redirecting to loginUrl in which case on my LoginScreen() if the stored session tokens are valid, I'm returning null in the onLogin: block and it redirects to home which is what's happening.  
I'm pretty sure this is the cause and I cannot think of any way to solve it.  @csells 
 Comment 15: I just saw this:
```
// if there's a deep link, go there
                  if (from != null) context.go(from!);
```
which I'm missing
 Comment 16: That seems really inefficient  for the router to go all the way back to main's GoRouter redirect, go to LoginScreen the check the `from` variable and then navigate to a deep link.  
 Comment 17: are you experiencing a perceivable delay?
 Comment 18: @csells  not really but I'm ripping out flutter_login package as it seems to be causing problems with me running in debug mode.  So I apologize for taking up your time here and appreciate your consideration although I would like to see the result of #139 
I filed an issue with them: https://github.com/NearHuscarl/flutter_login/issues/271
 Comment 19: > What if I'm loggedIn but not goingToLogin? I'm redirecting to loginUrl in which case on my LoginScreen() if the stored session tokens are valid, I'm returning null in the onLogin: block and it redirects to home which is what's happening. I'm pretty sure this is the cause and I cannot think of any way to solve it.

If the user is already logged in, why send them to the login page? This is causing your loop


 Comment 20: @csells 
I also noticed with the RouterLocationView widget that you put at the bottom of the nested_nav example, in my app's case, that does not change when I sideways scroll the tabs, ie. not clicking the tab to change tabs but scrolling sideways in the tab view.  Neither does the url in the url bar.  

 Comment 21: https://youtu.be/KF3xXmVDbns
 Comment 22: There are a few moving parts to getting nested nav to work. Check out [the nest nav docs](https://pub.dev/packages/go_router#nested-navigation) and [the nested nav example](https://github.com/csells/go_router/blob/master/example/lib/nested_nav.dart) for details.
 Comment 23: I copied the example pretty much on a 1:1 basis and the scrolling not changing url can be confirmed with this minimal example: https://github.com/nyck33/go_router_deep_link_broken
Please read the readme on how to run.  The files, router_location_view.dart, tab_view.dart (familyview), tabs_list.dart (family and families), top_page_of_tabs.dart (familytabspage) have almost identical code to your example copied and pasted here: https://www.reddit.com/r/flutterhelp/comments/qpy1ae/go_router_nested_navigation_for_tabs/?utm_source=share&utm_medium=web2x&context=3
Please read the code block under "Edit: ..."

 Comment 24: [This](https://www.reddit.com/r/flutterhelp/comments/qpy1ae/go_router_nested_navigation_for_tabs/?utm_source=share&utm_medium=web2x&context=3) isn't my example.
 Comment 25: I recommend starting from [the working nested nav example](https://github.com/csells/go_router/blob/master/example/lib/nested_nav.dart).
 Comment 26: > > What if I'm loggedIn but not goingToLogin? I'm redirecting to loginUrl in which case on my LoginScreen() if the stored session tokens are valid, I'm returning null in the onLogin: block and it redirects to home which is what's happening. I'm pretty sure this is the cause and I cannot think of any way to solve it.
> 
> If the user is already logged in, why send them to the login page? This is causing your loop.
I only put that in temporarily to see if it's a quick fix on redirect but thanks I noticed that.




> [This](https://www.reddit.com/r/flutterhelp/comments/qpy1ae/go_router_nested_navigation_for_tabs/?utm_source=share&utm_medium=web2x&context=3) isn't my example.

Yes, that's what I have in the minimal example, pretty much 1:1 copy of the nested_nav example you're pointing to except I have MyTab = Family and TabsList = Families.  Otherwise they should be identical.  I posted the Reddit link so you can see all the files in the minimal example on one screen.  @csells 
 Comment 27: I'm not sure what else to do, your advice to work from the nested_nav example is exactly what I did.  I could not copy it any closer.  
There's one thing I did miss, that was using the static family method which in mine is theTab but I changed that and it still did not alleviate the problems.
 Comment 28: you can post [a minimal repro](https://en.wikipedia.org/wiki/Minimal_working_example) and I'm happy to take a look.
 Comment 29: > I copied the example pretty much on a 1:1 basis and the scrolling not changing url can be confirmed with this minimal example: https://github.com/nyck33/go_router_deep_link_broken Please read the readme on how to run. The files, router_location_view.dart, tab_view.dart (familyview), tabs_list.dart (family and families), top_page_of_tabs.dart (familytabspage) have almost identical code to your example copied and pasted here: https://www.reddit.com/r/flutterhelp/comments/qpy1ae/go_router_nested_navigation_for_tabs/?utm_source=share&utm_medium=web2x&context=3 Please read the code block under "Edit: ..." You will see that I copied pretty much 1:1. @csells

See the above post.  
 Comment 30: I'm sorry. I don't think that's the minimal code that reproduces the bug.
 Comment 31: It's minimal if you stick to folder broken_nav.  All the other files are where I test other Flutter API's I'm new to.  
It looks like a lot but it's basically the example code I posted on Reddit as well divided up into separate files.  
I guess I could stuff a bunch of classes into one file to make it appear "more minimal" but I'm already in the midst of refactoring to use routemaster.  It's disappointing as it was pointed out to me @csells is on the Google Flutter team blah blah so wrongly assumed this would be a more solid choice over routemaster.  
 Comment 32: Routemaster is a great choice. If that's working for you, then you're all set. 
 Comment 33: Far better choice.  No comparison.
{'source': 'GithubIssues', 'repo_name_with_owner': 'csells/go_router', 'issue_id': 1049385934, 'repo_stars': 393.0}