Navigation Stack Seemingly Persists

I’m running into an issue where it seems as if the navigation stack inside of a TabsPage persists, even after the page is unloaded. My page flow looks like: App -> (Login - > Home || Home) -> TabsPage. My TabsPage has two tabs - NewTicket and SuspendedTickets. From the TabsPage, I’d like users to be able to return to Home. I do this by subscribing to an event in App and setting the root page accordingly. The problem that I’m experiencing occurs when my flow is Home -> TabsPage -> Home -> TabsPage. On the second navigation to TabsPage, ionViewDidLoad is called twice on the NewTicket page; and is subsequently called additional times, each time I complete this cycle. The odd thing is that ionViewWillUnload fires for both NewTicket and TabsPage, indicating that they are destroyed, but it seems like the navigation stack is still somehow persisting. The relevant code can be found below - both located in app.component.ts. For reference, I’m on Ionic v3.9.2.

// Determines root on App load.
this.userData.hasValidToken().then((isLoggedIn) => {
    if (!isLoggedIn) {
        this.rootPage = LoginPage;
    } else {
        this.rootPage = HomePage;
    }
});

// Changes root to whatever page that was passed to function.
this.events.subscribe(Constants.EVENT_NAV_SET_ROOT, (page) => {
    this.rootPage = page;
});