Почему в данном примере результат замыкания 5, а не 6?
А почему должно быть 6 ? Поменяйте в counter() на return ++currentCount; и будет вам 6.
Про разницу между формами инкремента читайте тут https://learn.javascript.ru/operators#inkrement-de...
Если хотите чтоб функция counter() увеличила currentCount перед выводом, то можно делать
return ++currentCount
Хозяйке на заметку: оператор ++ считается антипаттерном и на уважающих себя проектах отключён на уровне линтера.