I am on Android 9. And can block per app basis. Its been a feature for sometime now.
For a long time after their introduction, apps were still written for the old notification system, so many users probably missed the fact they could theoretically mute or block certain categories. When apps started targeting Android 8, developers had to use the appropriate channels, but I'm pretty sure it took months for most common apps to support this feature properly: many apps had a single category for all notifications even when they used the new notifications API.