The mempool doesn't need to CheckInputs with fCheckScripts=false, it can call Consensus::CheckTxInputs() directly. We could also remove the parameter from CheckInputs now, since all the remaining callers always pass fCheckScripts=true. But I have left for later, when/if we separate the function in two: one for libconsensus, the other for the multi-threaded validation (both called from ConnectBlock, the former also called from AcceptToMemeoryPool see https://github.com/jtimon/bitcoin/commit/24a09994138267fb132ba69b5128d094aac84a31 ).
I've tried to do this several times, but usually combined with moveonly commits and more changes. One of those times, @sipa suggested to remove the checks here instead, but I can't remember his reasoning or find a reference. I believe he changed his mind later.
Ping @NicolasDorier @kanzure