Focus input programatically + scroll

You are using correct page lifecycle event ionViewDidLoad.
Have you tried only followings code inside ionViewDidLoad() without platform.ready() and setTimeout() ?

this.keyboard.show(); // Needed for android. Call in a platform ready function
this.phoneNumberInput.setFocus();

I don’t think that device keyboard would overlap with active input field.
Try keeping your HTML strcture in following format -

<ion-header>
    // header codes
</ion-header>

<ion-content>
    // codes for contents
</ion-content>

<ion-footer>
    // Keep your input field here
</ion-footer>

If you need to scroll the view only to bottom, follow first solution of this solution which works perfectly for me.