Home Assistant notifications and almost all other notification services on phones actually route notifications through a cloud service like Firebase because Apple and Google try to railroad apps into their platforms. Ntfy lets you actually self host notifications without a third party, but also without killing your battery.
That's not the main thing I care about, though. Mainly I use it as a self hosted replacement for PushBullet, to share links and files with myself across machines and do some light alerting for servers and stuff (e.g. TrueNAS errors). Some of that could he done with HA, but ntfy is just better for some other uses with stuff like its web ui.
Plus, apart from that ntfy is really easy to integrate with other stuff, like its easy to send a notification from a shell script or web hook so you can hack it into things that don't otherwise support notifications (there are also lots of things that support ntfy natively, e.g. the arrs).
Not entirely sure about the de-google'd version of the Home Assistant companion app, but I know the regular companion app uses Firebase (and whatever the Apple equivalent is called, I forget) to deliver notifications, and it still would using Telegram as Telegram also uses Firebase. Apprise is a bit different as it can use multiple backends. Regardless, there are multiple ways to do things. Ntfy iphone and google app do not route your data through a third party server. I self host the ntfy server on my own machine and domain and my phone connects to it and receives data. It will deliver notifications wherever I am, not just in my LAN. It also provides a nice UI akin to Pushbullet I can use to send myself stuff privately.
You can't replicate all of what ntfy does with Home Assistant. There's more to it than just delivering notifications, it's the whole app frontend and persistent data etc. If it's not clear to you what it's for from my description you might have to go look into it yourself. Look at PushBullet, that's most similar to what I primarily use it for.