Hello Paul,
I was able to create the following compound CS incorporating the AHD height as follows:
COMPD_CS["GDA2020 / MGA zone 54 + AHD height",
PROJCS["GDA2020 / MGA zone 54",
GEOGCS["GDA2020",
DATUM["Geocentric Datum of Australia 2020",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","1168"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9102"]],
AUTHORITY["EPSG","7844"]],
PROJECTION["Transverse_Mercator",
AUTHORITY["EPSG","9807"]],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",141],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",10000000],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","7854"]],
VERT_CS["AHD height",
VERT_DATUM["Australian Height Datum",2005,
AUTHORITY["EPSG","5111"]],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","5711"]]]
then in Metashape I placed 1 point and converted between 'GDA2020 / MGA zone 54 + AHD height' and 'GDA2020 (EPSG::7844)' and got correct Geoid height correction as confirmed by looking at geoid AUSGeoid2020_20170908_win.tif file in Global mapper. Note that same tif file should appear in Datum Transformation Settings window under Geoid height entry. See attached screen copy....
Maybe you have problem with your tif file?