Il semble que le modèle de glob de négation ne soit pas bien connu. Vous pouvez donc utiliser :
find . -name "[!.]*"
J'ai trouvé ça ici :
find . \( ! -regex '.*/\..*' \) -type f -name "whatever"
Cela ne répond pas à votre question, mais pour la tâche de trouver des fichiers non cachés, j'aime laisser find trouver tous les fichiers puis filtrer avec grep.
find . -type f | grep -v '/\.'
Semblable à votre approche mais peut-être un peu plus simple.