Form on input edit throws Error: There is no FormControl instance attached to form control element

I am trying to validate Ion-inputs and when I edit the field value i get an Error thrown. My test object I am operating on is non- recursive so it is not a factor for this issues, but I cannot simplify the method of construction since i need to be able to pass the FormGroup into the recursive child and add elements to it. ( I have tested it with an expanded nested object and encounter the same error, so for this question I have simplified the scenario).
When I click on the input and change the value a console log error shows:
Error: There is no FormControl instance attached to form control element with name: 'firstname'
I console log my FormGroup object formGrp after I create it and get the below log (so it contains the FormControl as far as i can tell):

Here is the component code.

     <form [formGroup]="formGrp">
            <ion-label position="stacked">{{formObj.Name}}:</ion-label>
        <ion-list *ngIf="formObj.Children" class="indented">
          <div *ngFor="let child of formObj.Children">


import ...

  selector: 'my-component'
export class MyComponent {

  @Input() formObj: any ;
  @Input() formGrp: FormGroup;

  constructor() {}

  ngAfterContentInit() {

   createControl(obj) {
     const vcom = [];
     ... // some not relevant conditional logic, but required IS added
     const con = new FormControl(this.getValue(obj.Datasource), Validators.compose(vcom));
     this.formGrp.addControl(obj.Name, con);
     console.log('formGroup: ', this.formGrp);

I am unable to make any headway on this so any help would greatly be appreciated.

MyComponent is very tightly coupled to its host. While you wait for better answers, I would suggest reading this article for a different way of structuring this idiom that may design your problem away.

I rebuilt the component using the CVA approach, and after a little bit of extra tinkering I got it to no longer throw errors, so thank you for that reference, I am still curious as to why i was having the problem to begin with though.