Você está basicamente correto, mas falta uma sutileza no uso de Opções.
Primeiro, no entanto, não basta colocá-los no container NameVirtualHost, use uma declaração do diretório ...
Você está correto que os mais específicos se aplicam, no entanto, se uma declaração de opções contiver uma lista de opções onde cada é prefixado com + ou -, então as opções são mescladas com quaisquer opções ...
Isso significa
Options Indexes FollowSymLinks
é mesclado com
Options -ExecCGI -Indexes
para formar
Options Indexes FollowSymLinks -ExecCGI
Veja a documentação do apache link
e especificamente no exemplo:
...if the second Options directive uses the + and - symbols:
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options +Includes -Indexes
</Directory>
then the options FollowSymLinks and Includes are set for the
/web/docs/spec
directory.
Portanto, o comportamento que o Apache está exibindo com sua configuração está correto.
Eu declararia explicitamente as opções para o NameVirtualHost da seguinte forma:
<Directory /var/www/html/deve>
Options +FollowSymlinks -Indexes -ExecCGI
</Directory>