Sim, é por causa do BSD ls, não do peixe. Não há --color = sempre, você tem que exportar CLICOLOR_FORCE.
Então, algo como
alias lsless="set -gx CLICOLOR_FORCE ''; ls | less; set -e CLICOLOR_FORCE"
faria isso.
Outra opção seria apenas brew install coreutils
e, em seguida, gls --color=always | less