Bom dia,
Só por desencargo de consciência. Eu poderia resolver o problema do header estar aparecendo no notfound se fizesse da seguinte forma:
if(!prato){ navigate("/erro") }
logo a rota não existe e cairia na route "*" o que faria com que a rota de notFound fosse chamada e de quebra a estrutura ( sem o header) que já tinha sido feito anteriormente, fosse montada na tela.
Correto?