У вас нет 2 групп захвата во втором регулярном выражении, только одна. Первая пара круглых скобок - это негативный взгляд, который не создает группу захвата. Вот почему вы не можете использовать $ 2 в перенаправлении.
Обновлено
Этот редирект должен заменить оба ваших правила:
rewrite "^((?!/([a-z]{2}|[a-z]{2}-[a-z]{2})(/|$)).*)$" /en$1 last;