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.