cmExperimental: only forward C++ module support to non-ABI checks

ABI checks never use modules, so don't forward the experimental status
through.
diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index 74f0320..7045aa7 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -1078,7 +1078,11 @@
       auto const& data = cmExperimental::DataForFeature(
         static_cast<cmExperimental::Feature>(i));
       if (data.ForwardThroughTryCompile ==
-          cmExperimental::TryCompileCondition::Always) {
+            cmExperimental::TryCompileCondition::Always ||
+          (data.ForwardThroughTryCompile ==
+             cmExperimental::TryCompileCondition::SkipCompilerChecks &&
+           arguments.CMakeInternal != "ABI"_s &&
+           arguments.CMakeInternal != "FEATURE_TESTING"_s)) {
         vars.insert(data.Variable);
       }
     }
diff --git a/Source/cmExperimental.cxx b/Source/cmExperimental.cxx
index fcd215c..68bd964 100644
--- a/Source/cmExperimental.cxx
+++ b/Source/cmExperimental.cxx
@@ -24,8 +24,7 @@
     "CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API",
     "CMake's C++ module support is experimental. It is meant only for "
     "experimentation and feedback to CMake developers.",
-    // https://gitlab.kitware.com/cmake/cmake/-/issues/25097
-    cmExperimental::TryCompileCondition::Never, false },
+    cmExperimental::TryCompileCondition::SkipCompilerChecks, false },
   // WindowsKernelModeDriver
   { "WindowsKernelModeDriver", "5c2d848d-4efa-4529-a768-efd57171bf68",
     "CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER",
diff --git a/Source/cmExperimental.h b/Source/cmExperimental.h
index fa1982e..0768146 100644
--- a/Source/cmExperimental.h
+++ b/Source/cmExperimental.h
@@ -23,6 +23,7 @@
   enum class TryCompileCondition
   {
     Always,
+    SkipCompilerChecks,
     Never,
   };