Well, I'm not getting anything like that.
If I use "ls <&8" I get the contents of PWD, and if I use "ls <8&" I get a no such file or directory error, due to the incorrect syntax, or the PWD again if a file named "8" exists.
Again, the redirect sets up stdin for the command, but ls ignores stdin, so it runs as if there are no arguments.
Interestingly, I wasn't aware that directories could be used as the targets of fds, although I can't see how much good that would do. I don't know of any commands that can accept non-file input from stdin.
Are you using a different shell of some kind perhaps?