Me desculpe a pergunta, mas você poderia detalhar um pouco mais? porque ficou um pouco confuso para mim como que usar dessa forma iria diferenciar um request recebido de argumento da edge function middleware(request).

No seu arquivo middleware.js, você pode verificar a presença dessa variável de ambiente para diferenciar as solicitações:

async function middleware(request) {
  const isInternalRequest = process.env.VERCEL_INTERNAL_REQUEST === 'true';

  if (isInternalRequest) {
    // É uma solicitação interna da aplicação
    // Faça algo aqui
  } else {
    // É uma solicitação externa de um IP normal
    // Faça algo aqui
  }

  // Continue o processamento do middleware
}
Me parece que desta forma sempre retornará o valor *true*.
O objeto **process.env** é interno e não retonara **true** de uma solicitação externa.