Der Prompt kommt von cryptsetup selbst. Leider sehe ich da gerade keine Option diesen zu ändern oder abzuschalten.
Du kannst vielleicht ein read machen und das Ergebnis in /crypto_keyfile.bin schreiben (ohne Zeilenumbruch am Ende) und der encrypt hook liest das dann zufällig.
read -r -p 'Password: ' password
printf "%s" "$password" > /crypto_keyfile.bin
Problem ist nur, da findet keine Prüfung statt, wenns falsch getippt ist dann ists falsch.
Am Ende läufts darauf hinaus, den encrypt hook komplett selbst zu stricken.
Oder du nimmst die grafische Variante mit plymouth vielleicht hats da mehr Anpassungsmöglichkeiten - keine eigene Erfahrung damit.
----
ganz anderer Ansatz wäre die Ausgabe von cryptsetup wieder wegzuradieren im Terminal in dem du in einem Hintergrundprozess entsprechende screenclears ausgibst während cryptsetup läuft.
for i in $(seq 1 10)
do
while pidof cryptsetup > /dev/null
do
echo -n -e '\e[2J'
sleep 1
done
sleep 0.01
done &
cryptsetup luksOpen ...
so was um den dreh