Isso vai funcionar:
input_key=$(cat ${domain}.key | sed 's/$/\n/' | tr -d '\n')
O sed
está sendo executado em seu exemplo, mas acredito que algo nos bits de regex está sendo interpretado pelo shell. Você simplesmente precisa envolver o regex entre aspas simples para evitar qualquer interpretação de shell. O seguinte também funciona:
input_key='cat ${domain}.key | sed 's/$/\n/' | tr -d '\n''