Ionic Modal is not passing data back

The problem is that data being sent back from modal is undefined.

The function I’m using to open my modal is below:

async openResultsModal() {

  this.ResultsPopover = await this.modalController.create({

    component: ResultsPage,

    componentProps: {

      gameMode: this.gameMode,

      Localresult: this.LocalGameResult

    },

    mode: "ios"

  });

  this.ResultsPopover.onDidDismiss().then((dataReturned) => {

   if (dataReturned !== null) {

    console.log(dataReturned.data);

  }

  });

  return await this.ResultsPopover.present();

}

However, This function is inside a service file and I am calling it in a timer like so:
The timer will need to stay

  setTimeout(() => 
  {
      this.openResultsModal();
  },
  1500);

My modal page is like this:

export class ResultsPage implements OnInit {
  gameMode;
  Localresult;

  constructor(navParams: NavParams, public modalController: ModalController) { 
    this.gameMode = navParams.get('gameMode'); 
    this.Localresult = navParams.get('Localresult'); 
  }

  ngOnInit() {
  }

  ionViewWillLeave(){
    this.closeModal();
  }

  async closeModal() {
    const onClosedData: string = "This is Data";
    await this.modalController.dismiss(onClosedData);
  }



}

The data that is returned to my service file is undefined. Is it because I am using the JavaScript setTimeout() function?