When I write
expr 123 \< 5
the result is correct (0) because expr evaluates two integers.
expr 123. \< 5
gives the expected result (1) because now it compares two strings.
expr "123" \< 5
gives 0 (I expected 1, as before)
give the same answer because what the
Escaping and quoting are handled by your shell. What commands see once run is what your command line ends up as after the shell has handled all redirections, expansions, and subtitutions, and removed all quoting.