In the end I created an AbsoluteLayout and placed three separate SfCircularGauge controls in it, instead of one control with two sub-controls as annotations. This allowed me to set the proportional size and positions in xaml and change the size of the overall AbsoluteLayout from code-behind as necessary.
<AbsoluteLayout x:Name="dialLayout" HorizontalOptions="Center" VerticalOptions="Start">
<gauge:SfCircularGauge x:Name="SecondsDial" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All">
<gauge:SfCircularGauge.Scales>
... this main scale fills the whole space allocated to the AbsoluteLayout
</gauge:SfCircularGauge.Scales>
</gauge:SfCircularGauge>
<gauge:SfCircularGauge x:Name="HundredthsDial" AbsoluteLayout.LayoutBounds="0.81,0.5,0.33,0.33" AbsoluteLayout.LayoutFlags="All" >
<gauge:SfCircularGauge.Scales>
... this small scale is 0.33 the diameter of the big and offset to the right
</gauge:SfCircularGauge.Scales>
</gauge:SfCircularGauge>
<gauge:SfCircularGauge x:Name="MinutesDial" AbsoluteLayout.LayoutBounds="0.19,0.5,0.33,0.33" AbsoluteLayout.LayoutFlags="All">
<gauge:SfCircularGauge.Scales>
... this small scale is 0.33 the diameter of the big and offset to the left
</gauge:SfCircularGauge.Scales>
</gauge:SfCircularGauge>
</AbsoluteLayout>
A re-size of the containing AbsoluteLayout from code-behind (set according to width/height of the screen) results in the smaller dials resizing too.
If there is a way to do this using the annotations it would be good to know. If not it might be worth considering this a feature request ;-)