Hay dos caracteres para indicar el inicio/finalización de caracteres no imprimibles en readline/libedit (?), 0x01 y 0x02.
Entonces, si agrega estos antes y después de las secuencias no imprimibles en su PROMPT1, debería funcionar. El resultado en tu caso sería:
\set PROMPT1 '%001%[%033[1;33;40m%]%002%[email protected]%/%R%001%[%033[0m%]%002%# '
Actualización: Sin embargo, parece que esto debería manejarse en psql, en algún lugar deben perderse de alguna manera. Quizás USE_READLINE
no está definido? Ver:Línea 286 en src/bin/psql/prompt.c