Would you introduce table inheritance for the TemplateTeststep and TestplanTeststep tables?
The TestplanTeststep is/will be always a readonly copy of the TemplateTeststep (red) PLUS some editable fields (purple).
The TemplateTeststep will have individual fields which will never appear in the TestplanTeststep table. The TestplanTeststep will have individual fields which will never appear in the TemplateTeststep table.
Moreover the TestplanTeststep table has some fields from the TemplateTeststep table which are read-only. (nobody should change them because they need to be safe for reports/investigation etc...)
The TemplateTeststep has still the fields ModifiedBy and ModifiedAt which does not appear on a TestplanTeststep for historical tracking who changed what/when.