Hey there!
Posts must have to be valid under any collection in order to have a URL and load.
This might help you to solve the problem.
Now, All you have to do is to keep or insert #hide (which will be the internal tag) and add whichever tag you want like for news to the post. So, the post can be visible at mydomain.com/news/ and not homepage.
You can copy and paste the below to your dynamic routing configuration if it is default or modify accordingly.
routes:
collections:
/:
permalink: /{slug}/
template: index
filter: tag:-hash-hide
/^/:
permalink: /{slug}/
template: index
filter: tag:hash-hide
taxonomies:
tag: /tag/{slug}/
author: /author/{slug}/
Reference: