Primeira pergunta:
Você deve remover block
do valor padrão de 'foldopen'
:
set foldopen-=block
Veja :help 'foldopen'
.
Segunda pergunta:
Você pode tentar esses mapeamentos
nnoremap <expr> } foldclosed(search('^$', 'Wn')) == -1 ? "}" : "}j}"
nnoremap <expr> { foldclosed(search('^$', 'Wnb')) == -1 ? "{" : "{k{"