The GMT China community provides an example that is almost exactly what you need.
https://docs.gmt-china.org/latest/tutorial/subplot/#id3
The example plots Cartesian frames but it also works for geographic maps. The key point in this example is that you need to call subplot begin twice because GMT doesn’t support nested subplot yet.
