В progn значение counter станет 3 (т.к. 3 вызова). Затем, counter присваивается 7 и следующий вызов counter-func увиличит значение на 1 => 8
По умолчанию counter видно только изнутри counter-func, так что вернется 4.
Если до определения counter-func было объявлено, что counter это special, то 8.