Isso parece funcionar, adicionando um .
opcional à captura:
PROMPT_COMMAND='pwd2=$(sed "s:\(\.\?[^/]\)[^/]*/:/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '
E para o "ainda melhor":
PROMPT_COMMAND='pwd2=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '