What you can do rather reliably is to compare the following:
If you loader is always IDWriteLocalFontFileLoader, you can then get a path directly, and compare that.
Equals() will consider simulations too, meaning faces using same {fontfile, index} could still be unequal.