With `ivy-mode`, `read-directory-name` offers both files and directories. It should just offer directories. If you do select a file, Emacs opens that file in a buffer. I'm not sure why.