I don't know the engineering behind domain aggregate functions but like you I would expect that they open some sort of recordset too.
For example, something like this would run much quicker than the DMax() equivalent:
Currentdb.OpenRecordset("SELECT Max(Field) FROM Table WHERE SomeCriteria;"...