Since your website is a SPA, then I strongly advise you to ditch the digitalData key-value data layer as fast as possible! Such key-value data layers really don't work well with the dynamic nature of SPAs.
Instead, you should use an event-driven data layer. Adobe has its own Adobe Client Data Layer. If you're familiar with Google Tag Manager's dataLayer, then the ACDL operates in the same way.
With a data layer like ACDL, you don't need to use _satellite.track() at all. Since you're using Launch, install the ACDL extension, then in your Rules, use the ACDL event to "listen" for the appropriate events.
To your first question, the thing to remember is that a SPA is actually just one, single web page. It uses JavaScript "trickery", or scripts, to show "pages" of content. On the other hand, Adobe Analytics "s" object is global, so once an eVar or prop has been set, it stays in the "s" object until the whole website gets reloaded, e.g. by pressing the browser's Reload button. Your best bet is to clear out any eVars, props, events, etc that don't need to persist between your hits. Take a look at my article, "Don't use clearVars!" https://experienceleaguecommunities.adobe.com/t5/adobe-analytics-blogs/don-t-use-clearvars/ba-p/4107... .