I don't think words phrases like 'funny sounding' and 'fake-comparison' add anything to a technical discussion. So let's concentrate on the content.
Using < or a cmp with an Ordering as result are equivalent:
a<b && b<a cannot occur due to asymmetry requirement on <
a<b && !(b<a) <=> cmp(a,b)==Less
!(a<b) && b<a <=> cmp(a,b)==Greater
!(a<b) && !(b<a) <=> cmp(a,b)==Equal
The function cmp_by_age is not a total order on type Person, as it breaks the the antisymmetry rule ( If a ≤ b and b ≤ a then a = b ).
The function is a total order on the equivalence classes induced by Equal. That requires that Equal defines an equivalence relation, of course. So, for all a, b, c:
cmp(a,a) == Equal
if cmp(a,b)== Equal then cmp(b,a)==Equal
if cmp(a,b)==Equal and cmp(b,c)==Equal then cmp(a,c)==Equal
This is the concept that strict weak orderings is capturing.