Essa é uma regra de estilo entre muitas, e não é necessariamente a regra mais importante de todas as regras possíveis que você pode considerar. Seu exemplo, uma vez que inclui um int, não é super atraente, mas você certamente pode ter um objeto caro de construir dentro desse loop e talvez um bom argumento para construir o objeto fora do loop. No entanto, isso não torna um bom argumento contra essa regra, pois primeiro, existem muitos outros lugares que podem ser aplicados que não envolvem a construção de objetos caros em um loop e, segundo, um bom otimizador (e você marcou C #, para que você tenha um bom otimizador) pode elevar a inicialização fora do loop.
A verdadeira razão para esta regra também é a razão pela qual você não vê por que é uma regra. As pessoas costumavam escrever funções com centenas, até milhares de linhas, e escreviam em editores de texto sem formatação (pense no Bloco de Notas) sem o tipo de suporte fornecido pelo Visual Studio. Nesse ambiente, declarar uma variável a centenas de linhas de distância de onde foi usada significava que a pessoa que estava lendo
if (flag) limit += factor;
não tinha muitas pistas sobre o que eram bandeira, limite e fator. Convenções de nomenclatura como notação húngara foram adotadas para ajudar com isso, assim como regras como declarar coisas próximas de onde elas são usadas. É claro que atualmente, trata-se de refatoração, e as funções geralmente têm menos de uma página, dificultando a distância entre o local em que as coisas são declaradas e o local onde são usadas. Você está operando em um intervalo de 0 a 20 e discutindo que talvez 7 esteja ok nesse caso em particular, enquanto o cara que fez a regra adoraria tirar 7 linhas de distância e estava tentando convencer alguém de 700. E assim por diante Além disso, no Visual Studio, você pode passar o mouse sobre qualquer coisa e ver seu tipo, é uma variável de membro e assim por diante. Isso significa que a necessidade de ver a linha declarando que é diminuída.
Ainda é uma regra razoavelmente boa, uma que é realmente muito difícil de quebrar hoje em dia e que ninguém jamais defendeu como razão para escrever código lento. Seja sensato, acima de tudo.