O argumento para -p compreende a expansão rápida, por isso é apenas:
var=; vared -p '%B%F{red}something%f: ' var
-
%B:bold(%bpara parar em negrito) -
%F{red}: primeiro plano vermelho (%Kpara bacKground). -
%f: restaurar cor de primeiro plano padrão.
Fazendo:
vared -p $'\e[1;31msomething: ' var
que seria equivalente a vared -p "$(printf '\e[1;31msomething: ')" (corrigido da versão da sua pergunta) seria uma má idéia, já que enganaria o posicionamento do cursor de zle , deixando-o pensar que o prompt tem 18 colunas de largura, enquanto na verdade tem apenas 11 colunas de largura, pois \e[1;31m não é visível.