Small accounts and accounts with a lot of interactions have different needs, it's not easy to have a single UI optimized for both scenarios.
Said that, I think that splitting the notifications into more tabs is a good general solution:
- A replies tab
- A mentions tab
- A zaps tab
- A reactions tab
The replies tab should show conversations, not plain replies, ordered by the last reply; every row shows an excerpt of the root note and has a counter that shows the unread replies.
When the user clicks a conversation, it expands and shows the replies with a minimal context of your parent note (first 10 words, you should remember your own note).
The reply can be clicked and brings to the exact position in the thread; when the user reads a reply, by active clicking or visualizing it scrolling the thread (I know this is a little tricky), the unread counter is updated. You can also highlight unread replies in the thread with a different background or a specific border on the right.
In addition, you can have a dashboard that shows only the activities in the last 24 hours, chronologically ordered; this is especially useful for small accounts.
Tabs should have a notification dot to alert if something new has been fetched from the last visit.