As custom pages can be loaded only when components are loaded. And
Introduction page launched before any component could be loaded.
So to show your custom page before Introduction page, you need to set the visibility of Introduction page to false.
And then you can show your custom page. Later you could set the visibility of Introduction page to true or just show any other custom Introduction page.
From Controller constructor set visibility of Introduction page to false,
installer.setDefaultPageVisible(QInstaller.Introduction, false);
Now from your root Component constructor add your custom page before Introduction page as below
installer.addWizardPage(component, "DynamicPreIntroPage", QInstaller.Introduction);
I didn't tried, yet it should work.