I wrote a more detailed comparison of Notion vs Obsidian here: https://bryanhogan.com/blog/notion-obsidian-comparison
I kinda dislike where Notion is heading though, forcing more and more things on their users without any ways to disable them. But yes, it's capable to do what you are looking for.
Maybe Affine could also work though, you can self-host it and it's more customizable: https://affine.pro/