Ну, вот.
Наконец-то получилось именно то, что я с самого начала и ожидал.
1. Объявил операцию трехстороннего сравнения в классе по дефолту
auto operator<=>(const Fraction& r) const noexcept = default;
В результате код со сравнениями выдает именно то, что и ожидалось
Fraction A {3}; // целое = <3/1>
Fraction B {6,4}; // дробь = <3/2>
cout << A << B << endl;
cout << std::boolalpha
<< (A == B) << '\n' // false
<< (A != B) << '\n' // true
<< (A < B) << '\n' // true
<< (A <= B) << '\n' // true
<< (A > B) << '\n' // false
<< (A >= B) << '\n'; // false