Вместо keypress обрабатывать следует событие input. Вписывать руками значение (в смысле - через element.value) в элемент не надо, пусть этим v-model занимается. Сама логика замены символов - дико переусложнено, разбирать смысла не вижу.
Вот вам исправленный вариант.