Note that there are very different requirements for servers, clients and participants in peer-to-peer communication.
Are you talking about clients, servers, and p2p participants as different products that contain different protocol stacks (or differently configured stacks) which make different assumptions?
I think there are *communication roles* called client, server,
and p2p participant, but the same application might play different roles
over time or depending on usage, so I don't see how a given protocol stack
can have different defaults unless that stack is bundled with a non-extensible set of applications.
Thus, while the application that different roles have different requirements,
I don't see that being useful unless we think it makes sense to define APIs
by which an application is required to express its role or its requirements.
Also, for clients it should be possible to hide any additional locators
and just send over auth info. Then, if there is loss of connectivity,
the client switches locators and says "hi, it's me, remember my hash
chain?" or something similar.
That doesn't prevent the curious peer from discovering them by pretending that locator the client is using is having a problem (worst case the peer should be able to force this by just dropping the packets from the client until the client tries a different locator).
So it isn't clear to me what problem we are actually trying to solve in the privacy space.