Sorry for the late reply, I am under severe jet-lag 
I don’t have my exact code in front, but I use the source as a walkthrough. The code is same for TS and JS it seems. (Line numbers might be different in .js).
Ok so, looking here: https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/tab-view/tab-view.android.ts we open the android.ts/js file and locate the part where “createUI” is (L188).
This part of the code creates the containers for GridLayout, TabLayout (buttons) and the ViewPager (tab pages). So we just need to alter the way they are placed.
First, we reverse the row GridUnitTypes (L194 & L195):
this._grid.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.star));
this._grid.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.auto));
Then we add the TabLayout (buttons) to the last row of the gridLayout (L197 & L198):
this._tabLayout = new org.nativescript.widgets.TabLayout(this._context);
var lp = new org.nativescript.widgets.CommonLayoutParams();
lp.row = 1;
this._tabLayout.setLayoutParams(lp);
this._grid.addView(this._tabLayout);
Last, we make sure the ViewPager is placed in the first row of gridLayout, so we remove the original layout params: (L220 - L225):
this._viewPager.setId(this._androidViewId);
//var lp = new org.nativescript.widgets.CommonLayoutParams();
//lp.row = 1;
//this._viewPager.setLayoutParams(lp);
this._grid.addView(this._viewPager);
That’s it. This should do it. But @Pete.K did inspire me regarding the creation of a plugin that does this for us, so I will be looking into that. 