The quotes are preserved, but backquote expansion fills the argument list using any whitespace as a delimiter.
$ for f in `ls`; do echo "$f"; done
foo
"bar
baz
If you absolutely must parse ls (let's assume it's some other script that outputs items with spaces) and the output can contain spaces, you have a few options: $ ls | while read f; do echo "$f"; done
foo "bar baz
# parens keep the IFS change isolated to a subshell
$ (IFS="\n"; for f in `ls`; do echo "$f"; done)
foo "bar baz
But if your filenames contain newlines, you'll really want to stick with the glob expansion, or output custom delimiters and set IFS to that.