ZSH: `ls *(.)` lists regular files only but `ls *(/)` does not list directories only
I suspect the problem is not the zsh globbing, but the ls
default behavior, that when given a directory argument list the content of directory.
I suggest to try
ls -d -- <your-glob-here>
The best way to test your globs is with
printf '%s\n' <glob>
or
print -rC1 -- <glob>