Você tem a ideia certa, session.key
pode não ser gravável ou o caminho pode não existir.
A opção key-directory
que você mencionou especifica o diretório em que os arquivos-chave DNSSEC públicos e privados devem ser encontrados ao executar a atualização dinâmica de zonas seguras.
Tente definir a opção BIND session-keyfile
para o nome do caminho do arquivo no qual gravar uma chave de sessão TSIG.
Se não for especificado, o padrão é /var/run/named/session.key
(e relativo à sua cadeia chroot).
Por exemplo na named.conf
-section de options
session-keyfile "/var/bind/session.key";