В обоих случаях информация о типе для объекта o определяется во время компиляции. Во втором случае o рассматривается как глобальный для цикла for, и в первом случае, умный компилятор Java знает, что o придется быть доступным до тех пор, пока длится цикл, и, следовательно, оптимизирует код таким образом, что в каждой итерации не будет переопределения типа o.
Следовательно, в обоих случаях спецификация типа o будет выполняться один раз, а это означает, что единственная разница в производительности будет заключаться в объеме o. Очевидно, что более узкая область действия всегда повышает производительность, поэтому, чтобы ответить на ваш вопрос: нет, нет никакого снижения производительности для первого фрагмента кода; фактически этот фрагмент кода более оптимизирован, чем второй.
Во втором фрагменте o предоставляется ненужная область действия, которая, помимо проблем с производительностью, может также быть проблемой безопасности.