The discovery doesn't need to be at protocol level. You can have some servers following large number of accounts, analyze the feed, create a "trending" list and publish that under their own account that you follow. Then you can have second level "trending" servers which aggregate over first level ones if you want even more "trendiness"
Some may want a pure chronological view of posts from people the follow with no algorithm, some may want pure algos a la TikTok.
It seems like the nostr protocol allows for all of this. Users can decide their experience by downloading different client apps.
There's a big difference between creating a protocol that's intended for fully-content-agnostic communication over the Internet (eg, HTTP) and creating a protocol that's specifically intended to be used to build a social network. The latter type needs various features that enable the type of behavior we know people on social networks desire from them. It does not, as you say, necessarily need to encode strong opinions about how content discovery should be done into the protocol at a fundamental level, but it at least needs to acknowledge that that is a thing that will be necessary for any social network to succeed.
> How do I find people to follow?
>
> First, you must know them and get their public key somehow
And here lies the main problem of most of these decentralized alternatives: how do you discover new content? One of the biggest innovation of Twitter was to be able to follow a hashtag-- say #SomeEvent2022 and you see all tweets using that hashtag, not only those of people you follow. This tends to be abused by spamers, but it’s a great way to follow what’s going on at large events or find stuff related to some topic.