I don't think this is correct. Consider what you see from using sh -c -- 'var="a " && printf "%s\n" "${var}"-z'
If "${var}"-z resulted in two arguments instead of one, I'd see "a" and "-z" on different lines, but I see them on the same line, which means they are treated as a single argument.