Module slot for checking ABI compatibility

Yes – as with any new feature, you can use this once you don’t build for interpreters without the feature.
You could check the Python version and hide the slot from old interpreters, but that’s probably too much effort for any gain.
(Or, if PEP 793 is accepted for the same Python version, you can include it only for the new hook. Similar with optional slots.)

Sounds like this proposal would prevent this? A freethreading Python trying to load a module with “non-FT only” in PyABIInfo.flags would fail.

Do you have a reproducer I could use to test this?