Почему ты кстати не прокинешь cardToEdit в метод formGroupDef, и там сетить в каждое поле формы дефолтное значение из cardToEdit, чтобы избежать многократного вызова this.form.get(...).setValue(...)
Это только начала, будет очень сложная форма с кучей проверок... в целом ты прав лучше делать все на этапе инициализации формы