I see what you mean. The overlay itself is only a question of styling, but the URL is tricky.
With vue-router. this is only possible with nested routes so you can't start from /radio, click on an artist and arrive at /artist/9384384... with the Radio component still being rendered (well you can with an asbolute path subroute, but then that wold only work in /radio, not /browse).
you can definitely have this functionality if you would be fine with paths like /browse/artist/.. and /radio/artist/...
This is because vue-router wants to be the URL as the single source of truth, which is not possible with the spotify way of urls. to demonstrate this,
go to /radio,
click on artist,
notice the URL is /artist/..., and in the background, there still is the Radio "component"
refresh the page
now, we again see the Artist overlay "component", but the background is Browse, not Radio
This would be against the philsophy of vue-router: the URL alone should determin which components are on the screen, not some additional state like the previously rendered components.