diff --git a/lib/config/presets/internal/config.ts b/lib/config/presets/internal/config.ts
index e912455a85a65ca75b98e439afd89c5d58fa96c6..f9476dc23ba23f8fe580d107bef305f8f637b8ff 100644
--- a/lib/config/presets/internal/config.ts
+++ b/lib/config/presets/internal/config.ts
@@ -4,13 +4,13 @@ import type { Preset } from '../types';
 
 export const presets: Record<string, Preset> = {
   'best-practices': {
-    configMigration: true,
     description:
       'Preset with best practices from the Renovate maintainers. Recommended for advanced users, who want to follow our best practices.',
     extends: [
       'config:recommended',
       'docker:pinDigests',
       'helpers:pinGitHubActionDigests',
+      ':configMigration',
       ':pinDevDependencies',
     ],
   },
diff --git a/lib/config/presets/internal/default.ts b/lib/config/presets/internal/default.ts
index f9b0aa3126a5d439e498c855ea6de4398432b437..fdba2a282270428bdd277620717cb3336459bb2e 100644
--- a/lib/config/presets/internal/default.ts
+++ b/lib/config/presets/internal/default.ts
@@ -124,6 +124,10 @@ export const presets: Record<string, Preset> = {
       'Do not separate `patch` and `minor` upgrades into separate PRs for the same dependency.',
     separateMinorPatch: false,
   },
+  configMigration: {
+    configMigration: true,
+    description: 'Enable Renovate configuration migration PRs when needed.',
+  },
   dependencyDashboard: {
     dependencyDashboard: true,
     description: 'Enable Renovate Dependency Dashboard creation.',