Not an authority, but I know of someone who is...
From Vitalik's article, A Prehistory of the Ethereum Protocol
The second was the idea of “precompiles”, solving the problem of
allowing complex cryptographic computations to be usable in the EVM
without having to deal with EVM overhead. We had also gone through
many more ambitious ideas about “native contracts”, where if miners
have an optimized implementation of some contracts they could “vote”
the gasprice of those contracts down, so contracts that most miners
could execute much more quickly would naturally have a lower gas
price; however, all of these ideas were rejected because we could not
come up with a cryptoeconomically safe way to implement such a thing.
An attacker could always create a contract which executes some
trapdoored cryptographic operation, distribute the trapdoor to
themselves and their friends to allow them to execute this contract
much faster, then vote the gasprice down and use this to DoS the
network. Instead we opted for the much less ambitious approach of
having a smaller number of precompiles that are simply specified in
the protocol, for common operations such as hashes and signature
I don't think there's a "right answer" to whether any given functionality must be a pre-compile or native. It looks like it came down to a design judgement for all the reasons stated earlier. Unless VB or gavofyork themselves weigh in, we'll never know for sure...