Only issue I've always been hung on with relay pubkeys is that the relay has to somewhat consistently provide proofs for its pubkey which adds additional overhead (on top of everything else) for both the relay and the client. Additionally, this requires that the relay have a hot-signer, which adds new requirements for relays in both implementation and security vectors.
That said, when relays have pubkeys that can be discovered in some way, I would add them to `30166` events with `p` tags shortly after. This would be in addition to the `p` tag that is already added when any relay has valid pubkey set in their NIP-11.