なにも考えずにGridに並べたら、希望に近いものが出来ました。
VerticalOptions="Fill" / "End" / "Center"

今度はProgressBarがリアルタイムに反映されません。

 var task = Task.Run(() =>
 {
  DoWork();
 });

 // <ProgressBar x:Name="pbWait" HeightRequest="20" VerticalOptions="Center" />
 private async void DoWork()
 {
   for(int i=0;i<100;i++)
   {
     Device.BeginInvokeOnMainThread(() =>
     {
       pbWait.Progress = (double)i / 100.0f;
     });
     wait(100);  // 100ms のウエイト
   }
 }