Yes, you are right. this is the way to do this.
First I created a public tag and then in the routes.yaml I added a filter to the / (root) collection with a. minus, so in the homepage I will not showing the posts tagged with this tag.
And after that I created a new collection to create a special URL for this tag creating a new collection so all the posts tagged with this specific tag will have a special URL:
And it works perfectly fine. Hope it helps.
postdata: it would be fantastic if this work with a private tag as well, but for now it is OK.