A opção --regex aplica-se ao caminho inteiro, não apenas ao nome do arquivo. Portanto, locate --regex syn$ corresponderá a todos os arquivos e diretórios cujo caminho, incluindo seu nome, terminará em syn , enquanto locate --regex syn$ corresponderá apenas a um arquivo cujo caminho inteiro seja syn e que tal arquivo não exista:
$ locate --regex ^etc$ ## returns nothing
$ locate --regex ^/etc$
/etc
A opção que você está procurando é -b :
-b, --basename
Match only the base name against the specified patterns. This
is the opposite of --wholename.
Você poderia, portanto, fazer
locate -b --regex ^sys$
Isso listará todos os arquivos e pastas em locatedb cujo nome é exatamente sys .