diff --git a/core/config/schema/core.data_types.schema.yml b/core/config/schema/core.data_types.schema.yml
index b7798d0373d7023a4a23eb2eff11f936b723f650..c3e4432f605c89d1d76beb20c89cdb7aeb971163 100644
--- a/core/config/schema/core.data_types.schema.yml
+++ b/core/config/schema/core.data_types.schema.yml
@@ -257,6 +257,7 @@ filter:
 action_configuration_default:
   type: sequence
   label: 'Action configuration'
+  orderby: key
   sequence:
     type: string
 
@@ -324,6 +325,7 @@ theme_settings:
       requiredKey: false
       type: sequence
       label: 'Third party settings'
+      orderby: key
       sequence:
         type: theme_settings.third_party.[%key]
 
@@ -338,6 +340,7 @@ route:
     route_params:
       type: sequence
       label: 'Route Params'
+      orderby: key
       sequence:
         type: string
         label: 'Param'
@@ -351,6 +354,7 @@ config_dependencies_base:
       requiredKey: false
       type: sequence
       label: 'Configuration entity dependencies'
+      orderby: key
       sequence:
         type: string
         constraints:
@@ -361,6 +365,7 @@ config_dependencies_base:
       requiredKey: false
       type: sequence
       label: 'Content entity dependencies'
+      orderby: key
       sequence:
         type: string
     module:
@@ -368,6 +373,7 @@ config_dependencies_base:
       requiredKey: false
       type: sequence
       label: 'Module dependencies'
+      orderby: key
       sequence:
         type: string
         constraints:
@@ -379,6 +385,7 @@ config_dependencies_base:
       requiredKey: false
       type: sequence
       label: 'Theme dependencies'
+      orderby: key
       sequence:
         type: string
         constraints:
@@ -420,6 +427,7 @@ config_entity:
       requiredKey: false
       type: sequence
       label: 'Third party settings'
+      orderby: key
       sequence:
         type: '[%parent.%parent.%type].third_party.[%key]'
     _core:
@@ -458,6 +466,7 @@ block_settings:
       requiredKey: false
       type: sequence
       label: 'Context assignments'
+      orderby: key
       sequence:
         type: string
 
@@ -480,6 +489,7 @@ condition.plugin:
     context_mapping:
       type: sequence
       label: 'Context assignments'
+      orderby: key
       sequence:
         type: string
 
@@ -488,6 +498,7 @@ condition.plugin.entity_bundle:*:
   mapping:
     bundles:
       type: sequence
+      orderby: key
       sequence:
         type: string
 
@@ -517,6 +528,7 @@ layout_plugin.settings:
     context_mapping:
       type: sequence
       label: 'Context assignments'
+      orderby: key
       sequence:
         type: string
 
@@ -563,6 +575,7 @@ field_config_base:
     default_value:
       type: sequence
       label: 'Default values'
+      orderby: key
       sequence:
         type: field.value.[%parent.%parent.field_type]
         label: 'Default value'
@@ -811,6 +824,7 @@ field.value.boolean:
 field.field_settings.email:
   type: mapping
   label: 'Email settings'
+  orderby: key
   sequence:
     type: string
     label: 'Setting'
@@ -986,6 +1000,7 @@ entity_reference_selection.default:
       type: sequence
       label: 'types'
       nullable: true
+      orderby: key
       sequence:
         type: string
         label: 'Bundle'
@@ -1058,6 +1073,7 @@ mailer_dsn:
 mailer_dsn.options.*:
   type: sequence
   label: 'Options'
+  orderby: key
   sequence:
     type: string
     label: Option
diff --git a/core/config/schema/core.entity.schema.yml b/core/config/schema/core.entity.schema.yml
index 2934ca7fee0c1287bed1f4bae8092fad68fe986c..645d5d935207ef296a3abfb223c210794771058c 100644
--- a/core/config/schema/core.entity.schema.yml
+++ b/core/config/schema/core.entity.schema.yml
@@ -62,11 +62,13 @@ core.entity_view_display.*.*.*:
     content:
       type: sequence
       label: 'Field formatters'
+      orderby: key
       sequence:
         type: field_formatter.entity_view_display
     hidden:
       type: sequence
       label: 'Field display setting'
+      orderby: key
       sequence:
         type: boolean
         label: 'Value'
@@ -94,6 +96,7 @@ field_formatter:
       requiredKey: false
       type: sequence
       label: 'Third party settings'
+      orderby: key
       sequence:
         type: field.formatter.third_party.[%key]
 
@@ -132,6 +135,7 @@ core.entity_form_display.*.*.*:
     content:
       type: sequence
       label: 'Field widgets'
+      orderby: key
       sequence:
         type: mapping
         label: 'Field widget'
@@ -158,11 +162,13 @@ core.entity_form_display.*.*.*:
             requiredKey: false
             type: sequence
             label: 'Third party settings'
+            orderby: key
             sequence:
               type: field.widget.third_party.[%key]
     hidden:
       type: sequence
       label: 'Hidden'
+      orderby: key
       sequence:
         type: boolean
         label: 'Component'
diff --git a/core/config/schema/core.extension.schema.yml b/core/config/schema/core.extension.schema.yml
index 19f52db5a3f41a1c5cbeb8fbc48561f6d26b1a5c..e10a7caa5c8def95a9e966f9768e7acf0db5f78b 100644
--- a/core/config/schema/core.extension.schema.yml
+++ b/core/config/schema/core.extension.schema.yml
@@ -5,12 +5,14 @@ core.extension:
     module:
       type: sequence
       label: 'Enabled modules'
+      orderby: key
       sequence:
         type: integer
         label: 'Weight'
     theme:
       type: sequence
       label: 'Installed themes'
+      orderby: key
       sequence:
         type: integer
         label: 'Weight'
diff --git a/core/config/schema/core.menu.schema.yml b/core/config/schema/core.menu.schema.yml
index bf2bb195274ed2203965e4e4a44f43d6209af85f..1b4b6a2ec028633341baed7b975fc429b480528d 100644
--- a/core/config/schema/core.menu.schema.yml
+++ b/core/config/schema/core.menu.schema.yml
@@ -5,6 +5,7 @@ core.menu.static_menu_link_overrides:
     definitions:
       type: sequence
       label: Definitions
+      orderby: key
       sequence:
         type: mapping
         label: Definition
diff --git a/core/lib/Drupal/Core/Config/StorableConfigBase.php b/core/lib/Drupal/Core/Config/StorableConfigBase.php
index 9f864ffd4241fe5faa3fe46afca75c24f2faca60..e04ed891c4ac993d9f05ebcc3a57f4906f69afef 100644
--- a/core/lib/Drupal/Core/Config/StorableConfigBase.php
+++ b/core/lib/Drupal/Core/Config/StorableConfigBase.php
@@ -289,6 +289,8 @@ protected function castValue($key, $value) {
               sort($value);
               break;
 
+            default:
+              @trigger_error("Not specifying orderby for the config sequence {$this->getName()}:$key is deprecated in drupal:11.1.0 and will throw an exception in drupal:12.0.0. See https://www.drupal.org/node/7654321", E_USER_DEPRECATED);
           }
         }
       }
diff --git a/core/modules/block/config/schema/block.schema.yml b/core/modules/block/config/schema/block.schema.yml
index 9c28c0b3723212c972f602318cb618f2928db84b..6532d303482cabe825baa48d76e7820c6f335839 100644
--- a/core/modules/block/config/schema/block.schema.yml
+++ b/core/modules/block/config/schema/block.schema.yml
@@ -53,6 +53,7 @@ block.block.*:
     visibility:
       type: sequence
       label: 'Visibility Conditions'
+      orderby: key
       sequence:
         type: condition.plugin.[id]
         label: 'Visibility Condition'
diff --git a/core/modules/ckeditor5/config/schema/ckeditor5.schema.yml b/core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
index 683444948410bca66bd3e91d267a62558766fbcd..2d2e790db2f3b8aaab2f1080c8727e99a1083359 100644
--- a/core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
+++ b/core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
@@ -10,8 +10,8 @@ editor.settings.ckeditor5:
       mapping:
         items:
           type: sequence
-          orderby: ~
           label: 'Items'
+          orderby: ~
           sequence:
             type: ckeditor5.toolbar_item
             label: 'Button'
@@ -62,11 +62,11 @@ ckeditor5.plugin.ckeditor5_heading:
   mapping:
     enabled_headings:
       type: sequence
-      orderby: value
       label: 'Enabled Headings'
       constraints:
         NotBlank:
           message: "Enable at least one heading, otherwise disable the Heading plugin."
+      orderby: value
       sequence:
         type: string
         label: 'Heading type'
@@ -96,7 +96,7 @@ ckeditor5.plugin.ckeditor5_sourceEditing:
   mapping:
     allowed_tags:
       type: sequence
-      orderby: ~
+      orderby: value
       label: 'Allowed Tags'
       sequence:
         type: ckeditor5.element
@@ -178,13 +178,13 @@ ckeditor5.plugin.ckeditor5_codeBlock:
   mapping:
     languages:
       type: sequence
-      orderby: ~
       label: 'Languages'
       constraints:
         NotBlank:
           message: "Enable at least one language, otherwise disable the Code Block plugin."
         UniqueLabelInList:
           labelKey: label
+      orderby: value
       sequence:
         type: mapping
         label: 'Language'
@@ -205,7 +205,7 @@ ckeditor5.plugin.ckeditor5_style:
   mapping:
     styles:
       type: sequence
-      orderby: ~
+      orderby: key
       label: 'Styles'
       constraints:
         NotBlank:
diff --git a/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml b/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml
index 3a861e26a5be00f1579f4cd4a4083ecda90a2c3d..ee9fb49790f1f03b954d101a7b6469c06f1c5489 100644
--- a/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml
+++ b/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml
@@ -5,6 +5,7 @@ ckeditor5.plugin.ckeditor5_plugin_elements_subset_sneakySuperset:
     configured_subset:
       type: sequence
       label: 'Allowed Tags'
+      orderby: key
       sequence:
         type: ckeditor5.element
         label: 'Allowed Tag'
diff --git a/core/modules/ckeditor5/tests/src/Kernel/ConfigAction/AddItemToToolbarConfigActionTest.php b/core/modules/ckeditor5/tests/src/Kernel/ConfigAction/AddItemToToolbarConfigActionTest.php
index 012743e855ed8b44adeef8cf3db0a8bb6afa68d0..478c8c8abdc8d97f33689f8e94e801669ef42b7d 100644
--- a/core/modules/ckeditor5/tests/src/Kernel/ConfigAction/AddItemToToolbarConfigActionTest.php
+++ b/core/modules/ckeditor5/tests/src/Kernel/ConfigAction/AddItemToToolbarConfigActionTest.php
@@ -56,7 +56,7 @@ protected function setUp(): void {
 
     /** @var array{toolbar: array{items: array<int, string>}} $settings */
     $settings = Editor::load('filter_test')?->getSettings();
-    $this->assertSame(['heading', 'bold', 'italic'], $settings['toolbar']['items']);
+    $this->assertSame(['bold', 'heading', 'italic'], $settings['toolbar']['items']);
   }
 
   /**
@@ -65,12 +65,12 @@ protected function setUp(): void {
    * @param string[] $expected_toolbar_items
    *   The items which should be in the editor toolbar, in the expected order.
    *
-   * @testWith ["sourceEditing", ["heading", "bold", "italic", "sourceEditing"]]
-   *   [{"item_name": "sourceEditing"}, ["heading", "bold", "italic", "sourceEditing"]]
-   *   [{"item_name": "sourceEditing", "position": 1}, ["heading", "sourceEditing", "bold", "italic"]]
+   * @testWith ["sourceEditing", ["bold", "heading", "italic", "sourceEditing"]]
+   *   [{"item_name": "sourceEditing"}, ["bold", "heading", "italic", "sourceEditing"]]
+   *   [{"item_name": "sourceEditing", "position": 1}, ["bold", "heading", "italic", "sourceEditing"]]
    *   [{"item_name": "sourceEditing", "position": 1, "replace": true}, ["heading", "sourceEditing", "italic"]]
-   *   [{"item_name": "bold"}, ["heading", "bold", "italic"]]
-   *   [{"item_name": "bold", "allow_duplicate": true}, ["heading", "bold", "italic", "bold"]]
+   *   [{"item_name": "bold"}, ["bold", "heading", "italic"]]
+   *   [{"item_name": "bold", "allow_duplicate": true}, ["bold", "bold", "heading", "italic"]]
    */
   public function testAddItemToToolbar(string|array $action, array $expected_toolbar_items): void {
     $recipe = $this->createRecipe([
diff --git a/core/modules/config/tests/config_schema_deprecated_test/config/schema/config_schema_deprecated_test.schema.yml b/core/modules/config/tests/config_schema_deprecated_test/config/schema/config_schema_deprecated_test.schema.yml
index 40359e418c489c46b7a85e29ca71a58d52406538..55f9d08c71bf61216e1f57b8db291c167cb8ef12 100644
--- a/core/modules/config/tests/config_schema_deprecated_test/config/schema/config_schema_deprecated_test.schema.yml
+++ b/core/modules/config/tests/config_schema_deprecated_test/config/schema/config_schema_deprecated_test.schema.yml
@@ -9,5 +9,6 @@ config_schema_deprecated_test.settings:
           type: string
         products:
           type: sequence
+          orderby: key
           sequence:
             type: string
diff --git a/core/modules/config/tests/config_schema_test/config/schema/config_schema_test.schema.yml b/core/modules/config/tests/config_schema_test/config/schema/config_schema_test.schema.yml
index f56d4365858d1c19460779c2cfe56ad56b5aa81b..ac456f220034072377a914fb0e5b8b16a6bbafba 100644
--- a/core/modules/config/tests/config_schema_test/config/schema/config_schema_test.schema.yml
+++ b/core/modules/config/tests/config_schema_test/config/schema/config_schema_test.schema.yml
@@ -115,8 +115,10 @@ config_schema_test.schema_data_types:
       mapping:
         string:
           type: string
+    orderby: key
     sequence:
       type: sequence
+      orderby: key
       sequence:
         type: boolean
 
@@ -146,10 +148,12 @@ config_schema_test.plugin_types:
   mapping:
     tests:
       type: sequence
+      orderby: key
       sequence:
         type: test.plugin_types.[plugin_id]
     test_with_parents:
       type: sequence
+      orderby: key
       sequence:
         type: mapping
         mapping:
@@ -214,6 +218,7 @@ wrapping.config_schema_test.plugin_types:
   mapping:
     tests:
       type: sequence
+      orderby: key
       sequence:
         type: wrapping.test.plugin_types.[plugin_id]
 
@@ -234,6 +239,7 @@ wrapping.config_schema_test.double_brackets:
   mapping:
     tests:
       type: sequence
+      orderby: key
       sequence:
         type: wrapping.test.double_brackets.[another_key]
 
@@ -271,6 +277,7 @@ wrapping.config_schema_test.other_double_brackets:
   mapping:
     tests:
       type: sequence
+      orderby: key
       sequence:
         type: wrapping.test.other_double_brackets.[id]
 
@@ -308,6 +315,7 @@ config_schema_test.schema_sequence_sort:
         type: string
     no_sort:
       type: sequence
+      orderby: key
       sequence:
         type: string
     complex_sort_value:
diff --git a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
index 871ed6326ce118c3c8cfffe9cfa828f392bbcd3a..c850bc575fc32b8f225e91bfa707f8b0641492af 100644
--- a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
+++ b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
@@ -54,9 +54,11 @@ config_test.query.*:
     array:
       type: sequence
       label: 'Array level 1'
+      orderby: key
       sequence:
         type: sequence
         label: 'Array level 2'
+        orderby: key
         sequence:
           type: integer
           label: 'Value'
@@ -71,6 +73,7 @@ config_test.types:
     array:
       type: sequence
       label: 'Array'
+      orderby: key
       sequence:
         type: string
         label: 'Item'
@@ -113,6 +116,7 @@ config_test.types:
       type: sequence
       label: 'Nullable array'
       nullable: true
+      orderby: key
       sequence:
         type: string
         label: 'Item'
@@ -290,6 +294,7 @@ config_test.validation:
       constraints:
         Callback:
           callback: [\Drupal\config_test\ConfigValidation, validateSequence]
+      orderby: key
       sequence:
         type: string
         constraints:
diff --git a/core/modules/config_translation/tests/modules/config_translation_test/config/schema/config_translation_test.schema.yml b/core/modules/config_translation/tests/modules/config_translation_test/config/schema/config_translation_test.schema.yml
index b79260115a106b48aff469753bcb1c6030ae1f4c..7b8bdb4d2034bcc3453bb9a8ff8594d2f6043c1f 100644
--- a/core/modules/config_translation/tests/modules/config_translation_test/config/schema/config_translation_test.schema.yml
+++ b/core/modules/config_translation/tests/modules/config_translation_test/config/schema/config_translation_test.schema.yml
@@ -16,5 +16,6 @@ config_translation_test.content:
     animals:
       type: sequence
       label: 'Animals'
+      orderby: key
       sequence:
         type: label
diff --git a/core/modules/contact/config/schema/contact.schema.yml b/core/modules/contact/config/schema/contact.schema.yml
index 4617e47e7603c71be579d9edb903266d39735ac6..6414599d83f59499230a1d9ad4244059ffc82a67 100644
--- a/core/modules/contact/config/schema/contact.schema.yml
+++ b/core/modules/contact/config/schema/contact.schema.yml
@@ -18,6 +18,7 @@ contact.form.*:
     recipients:
       type: sequence
       label: 'Recipients'
+      orderby: key
       sequence:
         type: email
         label: 'Email address'
diff --git a/core/modules/content_moderation/config/schema/content_moderation.schema.yml b/core/modules/content_moderation/config/schema/content_moderation.schema.yml
index 7b14efbe49278173d86f2c03daa051789eb47727..1413bbd587b8444da3c947dddc0639d75301719d 100644
--- a/core/modules/content_moderation/config/schema/content_moderation.schema.yml
+++ b/core/modules/content_moderation/config/schema/content_moderation.schema.yml
@@ -27,9 +27,11 @@ workflow.type_settings.content_moderation:
     entity_types:
       type: sequence
       label: 'Entity types'
+      orderby: key
       sequence:
         type: sequence
         label: 'Bundles'
+        orderby: key
         sequence:
           type: string
           label: 'Bundle ID'
diff --git a/core/modules/content_translation/config/schema/content_translation.schema.yml b/core/modules/content_translation/config/schema/content_translation.schema.yml
index 73676724bd70377829d8e92b036020da0bb428f2..89935c70debed13471567984b4652ba3c05def57 100644
--- a/core/modules/content_translation/config/schema/content_translation.schema.yml
+++ b/core/modules/content_translation/config/schema/content_translation.schema.yml
@@ -7,6 +7,7 @@ field.field.*.*.*.third_party.content_translation:
     translation_sync:
       type: sequence
       label: 'Field properties for which to synchronize translations'
+      orderby: key
       sequence:
         type: string
         label: 'Field column for which to synchronize translations'
@@ -21,6 +22,7 @@ language.content_settings.*.*.third_party.content_translation:
     bundle_settings:
       type: sequence
       label: 'Content translation bundle settings'
+      orderby: key
       sequence:
         type: string
         label: 'Bundle settings values'
diff --git a/core/modules/contextual/config/schema/contextual.views.schema.yml b/core/modules/contextual/config/schema/contextual.views.schema.yml
index 4be573c1a5497a07cdea3d226be839f0b6009da9..255c4823380f9fe9a0c94d7726056117112fd110 100644
--- a/core/modules/contextual/config/schema/contextual.views.schema.yml
+++ b/core/modules/contextual/config/schema/contextual.views.schema.yml
@@ -7,6 +7,7 @@ views.field.contextual_links:
     fields:
       type: sequence
       label: 'Fields'
+      orderby: key
       sequence:
         type: string
         label: 'Link'
diff --git a/core/modules/field/config/schema/field.schema.yml b/core/modules/field/config/schema/field.schema.yml
index cdd1d4bab05cbeba55c7f2abc1aa80a567ded688..3d0d0f4f76a3c66827dc91c614f1bf3df7c38547 100644
--- a/core/modules/field/config/schema/field.schema.yml
+++ b/core/modules/field/config/schema/field.schema.yml
@@ -51,9 +51,11 @@ field.storage.*.*:
     indexes:
       type: sequence
       label: 'Indexes'
+      orderby: key
       sequence:
         type: sequence
         label: 'Indexes'
+        orderby: key
         sequence:
           type: ignore
           label: 'Index'
diff --git a/core/modules/filter/config/schema/filter.schema.yml b/core/modules/filter/config/schema/filter.schema.yml
index 6f57fb413dc389773846218196a18a7348ca44d1..9c266596ea217a75fa3fb25816bdc4d81977f9a9 100644
--- a/core/modules/filter/config/schema/filter.schema.yml
+++ b/core/modules/filter/config/schema/filter.schema.yml
@@ -40,13 +40,14 @@ filter.format.*:
     roles:
       type: sequence
       label: 'Roles'
+      orderby: key
       sequence:
         type: string
         label: 'Role'
     filters:
       type: sequence
-      orderby: key
       label: 'Enabled filters'
+      orderby: key
       sequence:
         type: filter
 
diff --git a/core/modules/filter/tests/filter_test/config/schema/filter_test.schema.yml b/core/modules/filter/tests/filter_test/config/schema/filter_test.schema.yml
index 51dc5e61b4d81f0ab15ba0dbf95f75844b046e6d..5913311fc50879eb7a02229fe50847a0040abff8 100644
--- a/core/modules/filter/tests/filter_test/config/schema/filter_test.schema.yml
+++ b/core/modules/filter/tests/filter_test/config/schema/filter_test.schema.yml
@@ -11,6 +11,7 @@ filter_settings.filter_test_restrict_tags_and_attributes:
         allowed:
           type: sequence
           label: 'Allowed tags and attributes'
+          orderby: key
           sequence:
             type: ignore
             label: 'Tag and optionally list of attributes'
diff --git a/core/modules/image/config/schema/image.schema.yml b/core/modules/image/config/schema/image.schema.yml
index f805caa378ca822067e3fb36ddf1f9fe43a412b6..554ff02740f721f15cf2e543c029e7f997252027 100644
--- a/core/modules/image/config/schema/image.schema.yml
+++ b/core/modules/image/config/schema/image.schema.yml
@@ -13,6 +13,7 @@ image.style.*:
       label: 'Label'
     effects:
       type: sequence
+      orderby: key
       sequence:
         type: mapping
         mapping:
@@ -28,6 +29,7 @@ image.style.*:
             type: weight
           data:
             type: image.effect.[%parent.id]
+            orderby: key
 
 image.effect.*:
   type: mapping
@@ -81,6 +83,7 @@ image.effect.image_scale:
 # The image desaturate effect has no settings.
 image.effect.image_desaturate:
   type: sequence
+  orderby: key
 
 image.effect.image_scale_and_crop:
   type: image_size
diff --git a/core/modules/language/config/schema/language.schema.yml b/core/modules/language/config/schema/language.schema.yml
index f7ddf9f08584fd19b6ba06a7890d1ff37f5a5ee1..b96d269035ffacd3e0c86398a83d1a55d63e903e 100644
--- a/core/modules/language/config/schema/language.schema.yml
+++ b/core/modules/language/config/schema/language.schema.yml
@@ -7,12 +7,14 @@ language_type_negotiation:
     enabled:
       type: sequence
       label: 'Enabled negotiators'
+      orderby: value
       sequence:
         type: integer
         label: Weight
     method_weights:
       type: sequence
       label: 'Negotiator weights'
+      orderby: value
       sequence:
         type: integer
         label: Weight
@@ -24,18 +26,21 @@ language.types:
     all:
       type: sequence
       label: 'All language types'
+      orderby: key
       sequence:
         type: string
         label: 'Language type'
     configurable:
       type: sequence
       label: 'Configurable language types'
+      orderby: key
       sequence:
         type: string
         label: 'Language type'
     negotiation:
       type: sequence
       label: 'Language negotiation per type settings'
+      orderby: key
       sequence:
         type: language_type_negotiation
         label: 'Language negotiation per type setting'
@@ -61,12 +66,14 @@ language.negotiation:
         prefixes:
           type: sequence
           label: 'Path prefix configuration'
+          orderby: key
           sequence:
             type: string
             label: 'Path prefix'
         domains:
           type: sequence
           label: 'Domain configuration'
+          orderby: key
           sequence:
             type: string
             label: 'Domain'
@@ -80,6 +87,7 @@ language.mappings:
   mapping:
     map:
       type: sequence
+      orderby: key
       sequence:
         type: string
         label: 'Language'
@@ -155,5 +163,6 @@ condition.plugin.language:
   mapping:
     langcodes:
       type: sequence
+      orderby: value
       sequence:
         type: langcode
diff --git a/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php b/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php
index aa7ea398fa533058bf8119ff16039a0c228ad618..3fb197ee68c8079e438d69a0648328274787c657 100644
--- a/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php
+++ b/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php
@@ -47,8 +47,8 @@ public function testLanguageNegotiationWithDefaultPathPrefix(): void {
     $this->assertSame(['language-interface' => 0], $config->get('negotiation.language_content.enabled'));
     $this->assertSame(['language-url' => 0, 'language-url-fallback' => 1], $config->get('negotiation.language_url.enabled'));
     $expected_language_interface = [
-      'language-url' => 0,
       'language-selected' => 1,
+      'language-url' => 0,
     ];
     $this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
   }
@@ -118,10 +118,10 @@ public function testLanguageNegotiationWithPathPrefix(): void {
     $this->assertSame(['language-interface' => 0], $config->get('negotiation.language_content.enabled'));
     $this->assertSame(['language-url' => 0, 'language-url-fallback' => 1], $config->get('negotiation.language_url.enabled'));
     $expected_language_interface = [
-      'language-url' => 0,
-      'language-user' => 1,
       'language-browser' => 2,
       'language-selected' => 3,
+      'language-url' => 0,
+      'language-user' => 1,
     ];
     $this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
   }
@@ -160,8 +160,8 @@ public function testLanguageNegotiationWithDomain(): void {
     $this->assertSame(['language-interface' => 0], $config->get('negotiation.language_content.enabled'));
     $this->assertSame(['language-url' => 0, 'language-url-fallback' => 1], $config->get('negotiation.language_url.enabled'));
     $expected_language_interface = [
-      'language-url' => 0,
       'language-selected' => 1,
+      'language-url' => 0,
     ];
     $this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
   }
diff --git a/core/modules/layout_builder/config/schema/layout_builder.schema.yml b/core/modules/layout_builder/config/schema/layout_builder.schema.yml
index 0bab48dfbb5e6492fc2233d43a8e8e1e4c8626c5..4bb7b61a8dedf208bc24aedc17d2e90fd76b2a24 100644
--- a/core/modules/layout_builder/config/schema/layout_builder.schema.yml
+++ b/core/modules/layout_builder/config/schema/layout_builder.schema.yml
@@ -10,6 +10,7 @@ core.entity_view_display.*.*.*.third_party.layout_builder:
       label: 'Allow a customized layout'
     sections:
       type: sequence
+      orderby: key
       sequence:
         type: layout_builder.section
 
@@ -30,11 +31,13 @@ layout_builder.section:
     components:
       type: sequence
       label: 'Components'
+      orderby: key
       sequence:
         type: layout_builder.component
     third_party_settings:
       type: sequence
       label: 'Third party settings'
+      orderby: key
       sequence:
         type: '[%parent.%parent.%type].third_party.[%key]'
 
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_test/config/schema/layout_builder_test.schema.yml b/core/modules/layout_builder/tests/modules/layout_builder_test/config/schema/layout_builder_test.schema.yml
index 75050837faa7af9ab9d4bd0814a5b371d3bafb74..aad39abdab31e955a5abbb638c5d061a32ee1992 100644
--- a/core/modules/layout_builder/tests/modules/layout_builder_test/config/schema/layout_builder_test.schema.yml
+++ b/core/modules/layout_builder/tests/modules/layout_builder_test/config/schema/layout_builder_test.schema.yml
@@ -3,5 +3,6 @@ layout_builder_test.test_simple_config.*:
   mapping:
     sections:
       type: sequence
+      orderby: key
       sequence:
         type: layout_builder.section
diff --git a/core/modules/link/config/schema/link.schema.yml b/core/modules/link/config/schema/link.schema.yml
index e3a1ffab98e5716e7226c29e736445a46bf7bb10..a3741ba1054cda00c3a5203f81b8ec982c6ca84d 100644
--- a/core/modules/link/config/schema/link.schema.yml
+++ b/core/modules/link/config/schema/link.schema.yml
@@ -72,6 +72,7 @@ field.value.link:
         query:
           type: sequence
           label: 'URL query key value pairs'
+          orderby: key
           sequence:
             type: string
         fragment:
@@ -86,5 +87,6 @@ field.value.link:
         attributes:
           type: sequence
           label: 'Link attributes'
+          orderby: key
           sequence:
             type: string
diff --git a/core/modules/media/config/schema/media.schema.yml b/core/modules/media/config/schema/media.schema.yml
index 4311b11049c688520e4a1efd086f1ba3e398498c..66272c11ed26b2d6ec696112bd7868ba4fcc7efb 100644
--- a/core/modules/media/config/schema/media.schema.yml
+++ b/core/modules/media/config/schema/media.schema.yml
@@ -52,6 +52,7 @@ media.type.*:
     field_map:
       type: sequence
       label: 'Field map'
+      orderby: key
       sequence:
         type: string
 
@@ -111,6 +112,7 @@ media.source.oembed:*:
     providers:
       type: sequence
       label: 'Allowed oEmbed providers'
+      orderby: key
       sequence:
         type: string
         label: 'Provider name'
@@ -132,12 +134,14 @@ filter_settings.media_embed:
     allowed_view_modes:
       type: sequence
       label: 'View modes selectable in the "Edit media" dialog'
+      orderby: key
       sequence:
         type: string
         label: 'View mode'
     allowed_media_types:
       type: sequence
       label: 'Media types selectable in the Media Library'
+      orderby: key
       sequence:
         type: string
         label: 'Media type'
diff --git a/core/modules/media_library/config/schema/media_library.schema.yml b/core/modules/media_library/config/schema/media_library.schema.yml
index 312f4ab607189a4bf7f28a4177e4b59b3f8bca77..65f0b333b4f7d91a2217770f6abf8f8f89b51fa6 100644
--- a/core/modules/media_library/config/schema/media_library.schema.yml
+++ b/core/modules/media_library/config/schema/media_library.schema.yml
@@ -5,6 +5,7 @@ field.widget.settings.media_library_widget:
     media_types:
       type: sequence
       label: 'Allowed media types, in display order'
+      orderby: key
       sequence:
         type: string
         label: 'Media type ID'
diff --git a/core/modules/media_library/tests/modules/media_library_test_widget/config/schema/media_library_test_widget.schema.yml b/core/modules/media_library/tests/modules/media_library_test_widget/config/schema/media_library_test_widget.schema.yml
index 81186253e1ae46cb797329e6a6370d1115d494f3..5b084954ca520c6ed6810fdd11633fd4e46217b5 100644
--- a/core/modules/media_library/tests/modules/media_library_test_widget/config/schema/media_library_test_widget.schema.yml
+++ b/core/modules/media_library/tests/modules/media_library_test_widget/config/schema/media_library_test_widget.schema.yml
@@ -5,6 +5,7 @@ field.widget.settings.media_library_inception_widget:
     media_types:
       type: sequence
       label: 'Allowed media types, in display order'
+      orderby: key
       sequence:
         type: string
         label: 'Media type ID'
diff --git a/core/modules/menu_ui/config/schema/menu_ui.schema.yml b/core/modules/menu_ui/config/schema/menu_ui.schema.yml
index 0ec16221aad46a608d1d1f8822673322e317b94a..eb8d0579ce42e718e8acd45ca719a89f4e26d703 100644
--- a/core/modules/menu_ui/config/schema/menu_ui.schema.yml
+++ b/core/modules/menu_ui/config/schema/menu_ui.schema.yml
@@ -17,6 +17,7 @@ node.type.*.third_party.menu_ui:
     available_menus:
       type: sequence
       label: 'Available menus'
+      orderby: key
       sequence:
         type: string
         label: 'Menu machine name'
diff --git a/core/modules/migrate_drupal/config/schema/migrate_drupal.schema.yml b/core/modules/migrate_drupal/config/schema/migrate_drupal.schema.yml
index 1b09e06ce604f7790bbd89115b3c4c65c4fc6c2b..897dc6d4a61899b361a8d25a2175fadf94ed303f 100644
--- a/core/modules/migrate_drupal/config/schema/migrate_drupal.schema.yml
+++ b/core/modules/migrate_drupal/config/schema/migrate_drupal.schema.yml
@@ -5,12 +5,14 @@ migrate_drupal.settings:
     enforce_source_module_tags:
       type: sequence
       label: 'source_module enforcement tags'
+      orderby: key
       sequence:
         type: string
         label: 'Tag'
     follow_up_migration_tags:
       type: sequence
       label: 'Follow-up migration tags'
+      orderby: key
       sequence:
         type: string
         label: 'Tag'
diff --git a/core/modules/navigation/config/schema/navigation.schema.yml b/core/modules/navigation/config/schema/navigation.schema.yml
index ee31849202a077c94decea16323edd29486393cf..9244bf5403ca9de52423eeee2560d59f4a4eb649 100644
--- a/core/modules/navigation/config/schema/navigation.schema.yml
+++ b/core/modules/navigation/config/schema/navigation.schema.yml
@@ -58,6 +58,7 @@ navigation.block_layout:
   mapping:
     sections:
       type: sequence
+      orderby: key
       sequence:
         type: layout_builder.section
 
diff --git a/core/modules/node/config/schema/node.views.schema.yml b/core/modules/node/config/schema/node.views.schema.yml
index 1f5f714ee74f8b20ff676cf3f67e2ded6d87d489..1283d232ff6f5a20d09fdae92ebf7c43d90922f7 100644
--- a/core/modules/node/config/schema/node.views.schema.yml
+++ b/core/modules/node/config/schema/node.views.schema.yml
@@ -120,6 +120,7 @@ views.filter.node_uid_revision:
     value:
       type: sequence
       label: 'Values'
+      orderby: key
       sequence:
         type: string
         label: 'Value'
diff --git a/core/modules/options/config/schema/options.schema.yml b/core/modules/options/config/schema/options.schema.yml
index 87323eb1d4564d2a0204bde8024754c6469c6098..59733cb3126bc65b83aedd4cac61c980000e8b56 100644
--- a/core/modules/options/config/schema/options.schema.yml
+++ b/core/modules/options/config/schema/options.schema.yml
@@ -9,6 +9,7 @@ field.storage_settings.list_integer:
     allowed_values:
       type: sequence
       label: 'Allowed values list'
+      orderby: key
       sequence:
         type: mapping
         label: 'Allowed value with label'
@@ -40,6 +41,7 @@ field.storage_settings.list_float:
     allowed_values:
       type: sequence
       label: 'Allowed values list'
+      orderby: key
       sequence:
         type: mapping
         label: 'Allowed value with label'
@@ -71,6 +73,7 @@ field.storage_settings.list_string:
     allowed_values:
       type: sequence
       label: 'Allowed values list'
+      orderby: key
       sequence:
         type: mapping
         label: 'Allowed value with label'
diff --git a/core/modules/responsive_image/config/schema/responsive_image.schema.yml b/core/modules/responsive_image/config/schema/responsive_image.schema.yml
index d72fda2007dc7b73ac1590267015a0a0eaab431c..0413b53178ac85af12dc35f59b11d52bf019b67a 100644
--- a/core/modules/responsive_image/config/schema/responsive_image.schema.yml
+++ b/core/modules/responsive_image/config/schema/responsive_image.schema.yml
@@ -13,6 +13,7 @@ responsive_image.styles.*:
     image_style_mappings:
       type: sequence
       label: 'Image style mappings'
+      orderby: key
       sequence:
         type: mapping
         label: 'Image style mapping'
@@ -53,6 +54,7 @@ responsive_image.image_mapping_type.sizes:
     sizes_image_styles:
       type: sequence
       label: 'Image styles to be used when using the ''sizes'' attribute'
+      orderby: key
       sequence:
         type: string
         label: 'Image style'
diff --git a/core/modules/rest/config/schema/rest.schema.yml b/core/modules/rest/config/schema/rest.schema.yml
index f7b3b8a8e7e0eeb70d53ca8253c2fbc8b6909e44..37fe0083a8173dd21e6d385901804dca4d0bacef 100644
--- a/core/modules/rest/config/schema/rest.schema.yml
+++ b/core/modules/rest/config/schema/rest.schema.yml
@@ -37,18 +37,21 @@ rest_resource.resource:
     methods:
       type: sequence
       label: 'Supported methods'
+      orderby: key
       sequence:
         type: string
         label: 'HTTP method'
     formats:
       type: sequence
       label: 'Supported formats'
+      orderby: key
       sequence:
         type: string
         label: 'Format'
     authentication:
       type: sequence
       label: 'Supported authentication providers'
+      orderby: key
       sequence:
         type: string
         label: 'Authentication provider'
@@ -59,12 +62,14 @@ rest_request:
     supported_formats:
       type: sequence
       label: 'Supported format'
+      orderby: key
       sequence:
         type: string
         label: 'Format'
     supported_auth:
       type: sequence
       label: 'Supported authentication'
+      orderby: key
       sequence:
         type: string
         label: 'Authentication'
diff --git a/core/modules/rest/config/schema/rest.views.schema.yml b/core/modules/rest/config/schema/rest.views.schema.yml
index 040187acfdb3a5a29e85c91f2c42311ccd542738..20b91c3e3b074acb8792758a15e2bbeee002d0ca 100644
--- a/core/modules/rest/config/schema/rest.views.schema.yml
+++ b/core/modules/rest/config/schema/rest.views.schema.yml
@@ -7,6 +7,7 @@ views.display.rest_export:
     auth:
       type: sequence
       label: 'Authentication'
+      orderby: key
       sequence:
         type: string
         label: 'Authentication Provider'
@@ -18,6 +19,7 @@ views.row.data_field:
     field_options:
       type: sequence
       label: 'Options'
+      orderby: key
       sequence:
         type: mapping
         label: 'Row'
@@ -36,6 +38,7 @@ views.style.serializer:
     formats:
       type: sequence
       label: 'Formats'
+      orderby: key
       sequence:
         type: string
         label: 'Format'
diff --git a/core/modules/search/config/schema/search.schema.yml b/core/modules/search/config/schema/search.schema.yml
index 4dc4d53e0574dd7aba2fbbe6554948c40207247a..fb9192627e52a0890c9e66723e48a0cd5260e09d 100644
--- a/core/modules/search/config/schema/search.schema.yml
+++ b/core/modules/search/config/schema/search.schema.yml
@@ -113,6 +113,7 @@ search.page.*:
           interface: 'Drupal\search\Plugin\SearchInterface'
     configuration:
       type: search.plugin.[%parent.plugin]
+      orderby: key
 
 block.settings.search_form_block:
   type: block_settings
diff --git a/core/modules/system/config/schema/system.schema.yml b/core/modules/system/config/schema/system.schema.yml
index 0c7cfac313c3b9e2f21f2127562f7d952f78c643..b63527a2aa8b45701853a75d12e5713c35cf9c05 100644
--- a/core/modules/system/config/schema/system.schema.yml
+++ b/core/modules/system/config/schema/system.schema.yml
@@ -386,6 +386,7 @@ system.mail:
     interface:
       type: sequence
       label: 'Interfaces'
+      orderby: key
       sequence:
         type: string
         label: 'Interface'
@@ -473,6 +474,7 @@ condition.plugin.response_status:
   mapping:
     status_codes:
       type: sequence
+      orderby: key
       sequence:
         type: integer
 
diff --git a/core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml b/core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml
index 3a9ef23bb984a709681053740eb6ec5f28d3fbc5..16189dd4eb13dd2c98319aa138b7b5b2ef916cc5 100644
--- a/core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml
+++ b/core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml
@@ -5,6 +5,7 @@ condition_test.settings:
     visibility:
       type: sequence
       label: Visibility conditions
+      orderby: key
       sequence:
         type: condition.plugin.[id]
         label: Visibility condition
diff --git a/core/modules/system/tests/modules/entity_test_update/config/schema/entity_test_update.schema.yml b/core/modules/system/tests/modules/entity_test_update/config/schema/entity_test_update.schema.yml
index 5c604575e6ee641850c4c1135b64f5c19ac536d0..386fdd0cb223343a29ffc350d3bb85d826580488 100644
--- a/core/modules/system/tests/modules/entity_test_update/config/schema/entity_test_update.schema.yml
+++ b/core/modules/system/tests/modules/entity_test_update/config/schema/entity_test_update.schema.yml
@@ -4,6 +4,7 @@ field.value.multi_value_test:
   mapping:
     value1:
       type: sequence
+      orderby: key
       sequence:
         type: string
         label: 'First value'
diff --git a/core/modules/system/tests/modules/form_test/config/schema/form_test.schema.yml b/core/modules/system/tests/modules/form_test/config/schema/form_test.schema.yml
index 4eedbf1ddda948fc74162ee952d8a7451fa365d2..0f071d09af2450237e5bf27b481e71bfdf3c5f82 100644
--- a/core/modules/system/tests/modules/form_test/config/schema/form_test.schema.yml
+++ b/core/modules/system/tests/modules/form_test/config/schema/form_test.schema.yml
@@ -8,6 +8,7 @@ form_test.object:
     favorite_fruits:
       type: sequence
       label: 'Favorite fruits'
+      orderby: key
       sequence:
         type: required_label
         label: 'Fruit'
diff --git a/core/modules/system/tests/themes/test_theme_settings/config/schema/test_theme_settings.schema.yml b/core/modules/system/tests/themes/test_theme_settings/config/schema/test_theme_settings.schema.yml
index 482577f2d1e236d0841b9666fb4b35de57bbaaa7..20bf6484196033adcdcf86bcff95cbff29b9da48 100644
--- a/core/modules/system/tests/themes/test_theme_settings/config/schema/test_theme_settings.schema.yml
+++ b/core/modules/system/tests/themes/test_theme_settings/config/schema/test_theme_settings.schema.yml
@@ -7,12 +7,14 @@ test_theme_settings.settings:
     custom_logo:
       type: sequence
       label: 'Custom logo'
+      orderby: key
       sequence:
         type: integer
         label: 'fids'
     multi_file:
       type: sequence
       label: 'Multiple file field with all file extensions'
+      orderby: key
       sequence:
         type: integer
         label: 'fids'
diff --git a/core/modules/system/tests/themes/test_theme_theme/config/schema/test_theme_theme.schema.yml b/core/modules/system/tests/themes/test_theme_theme/config/schema/test_theme_theme.schema.yml
index fcd044edd78bbe221bbcc2409c06a5da556588af..04e4a8c07449c9aa087e46d2308e31e1e765731a 100644
--- a/core/modules/system/tests/themes/test_theme_theme/config/schema/test_theme_theme.schema.yml
+++ b/core/modules/system/tests/themes/test_theme_theme/config/schema/test_theme_theme.schema.yml
@@ -7,6 +7,7 @@ test_theme_theme.settings:
     custom_logo:
       type: sequence
       label: 'Custom logo'
+      orderby: key
       sequence:
         type: integer
         label: 'fids'
diff --git a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
index 9ec97581852b9adf8218f1e2f7800a3347ae5dcd..eaeea8252ba269bcea6f8c77c20938824b3694f1 100644
--- a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
+++ b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
@@ -56,6 +56,7 @@ views.argument_validator.taxonomy_term_name:
     vids:
       type: sequence
       label: 'Vocabularies'
+      orderby: key
       sequence:
         type: string
         label: 'Vocabulary'
@@ -79,6 +80,7 @@ views.argument_default.taxonomy_tid:
     vids:
       type: sequence
       label: 'Vocabularies'
+      orderby: key
       sequence:
         type: string
         label: 'Vocabulary'
@@ -112,6 +114,7 @@ views.field.taxonomy_index_tid:
     vids:
       type: sequence
       label: 'Vocabularies'
+      orderby: key
       sequence:
         type: string
         label: 'Vocabulary'
@@ -138,6 +141,7 @@ views.filter.taxonomy_index_tid:
     value:
       type: sequence
       label: 'Values'
+      orderby: key
       sequence:
         type: integer
         label: 'Value'
@@ -157,6 +161,7 @@ views.relationship.node_term_data:
     vids:
       type: sequence
       label: 'Vocabularies'
+      orderby: key
       sequence:
         type: string
         label: 'Vocabulary'
diff --git a/core/modules/text/config/schema/text.schema.yml b/core/modules/text/config/schema/text.schema.yml
index 8b08b109d4669a11d36c3585473e41429968e0aa..a0a77e9030ef09e6d671bcda9761c1e3ea0a9bb6 100644
--- a/core/modules/text/config/schema/text.schema.yml
+++ b/core/modules/text/config/schema/text.schema.yml
@@ -29,6 +29,7 @@ field.field_settings.text:
     allowed_formats:
       type: sequence
       label: 'Allowed text formats'
+      orderby: key
       sequence:
         type: string
 
@@ -54,6 +55,7 @@ field.field_settings.text_long:
     allowed_formats:
       type: sequence
       label: 'Allowed text formats'
+      orderby: key
       sequence:
         type: string
 
@@ -83,6 +85,7 @@ field.field_settings.text_with_summary:
     allowed_formats:
       type: sequence
       label: 'Allowed text formats'
+      orderby: key
       sequence:
         type: string
 
diff --git a/core/modules/update/config/schema/update.schema.yml b/core/modules/update/config/schema/update.schema.yml
index 9344316517b1cc8708ff6e138a614707f70b2a3a..fc257a5672bccd59b59afb99f3aeac7033d93be9 100644
--- a/core/modules/update/config/schema/update.schema.yml
+++ b/core/modules/update/config/schema/update.schema.yml
@@ -47,6 +47,7 @@ update.settings:
         emails:
           type: sequence
           label: 'Email addresses to notify when updates are available'
+          orderby: key
           sequence:
             type: email
             label: 'Email'
diff --git a/core/modules/update/config/schema/update.source.schema.yml b/core/modules/update/config/schema/update.source.schema.yml
index 02777ac809e5596e05f5d43c4aa926b4d6af61b1..4d997fa656fc4182c583c7f237048db24324cb7b 100644
--- a/core/modules/update/config/schema/update.source.schema.yml
+++ b/core/modules/update/config/schema/update.source.schema.yml
@@ -7,6 +7,7 @@ migrate.source.update_settings:
     variables:
       type: sequence
       label: 'Variables'
+      orderby: key
       sequence:
         type: string
         label: 'Variable'
diff --git a/core/modules/update/tests/modules/update_test/config/schema/update_test.schema.yml b/core/modules/update/tests/modules/update_test/config/schema/update_test.schema.yml
index c14e7985eb01d7f26b975f100937a380cdfd577b..314c6551437b71da5308d6fc57f7ed907e137e7c 100644
--- a/core/modules/update/tests/modules/update_test/config/schema/update_test.schema.yml
+++ b/core/modules/update/tests/modules/update_test/config/schema/update_test.schema.yml
@@ -7,15 +7,18 @@ update_test.settings:
     system_info:
       type: sequence
       label: 'System info'
+      orderby: key
       sequence:
         type: sequence
         label: 'Items'
+        orderby: key
         sequence:
           type: string
           label: 'Item'
     update_status:
       type: sequence
       label: 'Update status'
+      orderby: key
       sequence:
         type: mapping
         label: 'Module'
@@ -26,6 +29,7 @@ update_test.settings:
     xml_map:
       type: sequence
       label: 'XML map'
+      orderby: key
       sequence:
         type: string
         label: 'Value'
diff --git a/core/modules/user/config/schema/user.schema.yml b/core/modules/user/config/schema/user.schema.yml
index 699d0ee6fc5d4bdb2f57699eed91fd5232047198..cffc6d92f94e0991f34635e34f9b01d6f50ae6e7 100644
--- a/core/modules/user/config/schema/user.schema.yml
+++ b/core/modules/user/config/schema/user.schema.yml
@@ -188,6 +188,7 @@ condition.plugin.user_role:
   mapping:
     roles:
       type: sequence
+      orderby: key
       sequence:
         type: string
 
@@ -206,6 +207,7 @@ entity_reference_selection.default:user:
         role:
           type: sequence
           label: 'Restrict to the selected roles'
+          orderby: key
           sequence:
             type: string
             label: 'Role'
diff --git a/core/modules/user/config/schema/user.views.schema.yml b/core/modules/user/config/schema/user.views.schema.yml
index 55bc61fb511cea764120c20f1fcfdb650ca5d013..737010ed0bced733f5777877d3e461382f2ebd02 100644
--- a/core/modules/user/config/schema/user.views.schema.yml
+++ b/core/modules/user/config/schema/user.views.schema.yml
@@ -15,6 +15,7 @@ views.access.role:
     role:
       type: sequence
       label: 'List of roles'
+      orderby: key
       sequence:
         type: string
         label: 'Role'
@@ -37,6 +38,7 @@ views.argument_validator.entity:user:
     roles:
       type: sequence
       label: 'Restrict to the selected roles'
+      orderby: key
       sequence:
         type: string
         label: 'Role'
diff --git a/core/modules/views/config/schema/views.argument_validator.schema.yml b/core/modules/views/config/schema/views.argument_validator.schema.yml
index fc149dd32d2ba8d285f78e4f5fa5f39c628f336d..9d5eec0960a2bce40fcd4eb985e1b9d96d19789c 100644
--- a/core/modules/views/config/schema/views.argument_validator.schema.yml
+++ b/core/modules/views/config/schema/views.argument_validator.schema.yml
@@ -3,6 +3,7 @@
 views.argument_validator.none:
   type: sequence
   label: 'Basic validation'
+  orderby: key
   sequence:
     type: string
 
@@ -24,6 +25,7 @@ views.argument_validator_entity:
     bundles:
       type: sequence
       label: 'Bundles'
+      orderby: key
       sequence:
         type: string
         label: 'Bundle'
diff --git a/core/modules/views/config/schema/views.cache.schema.yml b/core/modules/views/config/schema/views.cache.schema.yml
index 89d094164a17a795eed32171d81707ed12848f01..98427edaf073871a53c1243e411000e0b05ea3a6 100644
--- a/core/modules/views/config/schema/views.cache.schema.yml
+++ b/core/modules/views/config/schema/views.cache.schema.yml
@@ -7,6 +7,7 @@ views.cache.none:
     options:
       type: sequence
       label: 'Options'
+      orderby: value
 
 views.cache.tag:
   type: views_cache
@@ -15,6 +16,7 @@ views.cache.tag:
     options:
       type: sequence
       label: 'Options'
+      orderby: value
 
 views.cache.time:
   type: views_cache
diff --git a/core/modules/views/config/schema/views.data_types.schema.yml b/core/modules/views/config/schema/views.data_types.schema.yml
index 0e011d73dc15f54451fbd29ea4f28ca02369877e..ec87791a03292a90f3f542640c6239d347f94abf 100644
--- a/core/modules/views/config/schema/views.data_types.schema.yml
+++ b/core/modules/views/config/schema/views.data_types.schema.yml
@@ -16,6 +16,7 @@ views_display:
     fields:
       type: sequence
       label: 'Fields'
+      orderby: key
       sequence:
         type: views.field.[plugin_id]
     pager:
@@ -62,21 +63,25 @@ views_display:
     empty:
       type: sequence
       label: 'No results behavior'
+      orderby: key
       sequence:
         type: views.area.[plugin_id]
     sorts:
       type: sequence
       label: 'Sorts'
+      orderby: key
       sequence:
         type: views.sort.[plugin_id]
     arguments:
       type: sequence
       label: 'Arguments'
+      orderby: key
       sequence:
         type: views.argument.[plugin_id]
     filters:
       type: sequence
       label: 'Filters'
+      orderby: key
       sequence:
         type: views.filter.[plugin_id]
     filter_groups:
@@ -89,6 +94,7 @@ views_display:
         groups:
           type: sequence
           label: 'Groups'
+          orderby: key
           sequence:
             type: string
             label: 'Operator'
@@ -220,6 +226,7 @@ views_display:
     relationships:
       type: sequence
       label: 'Relationships'
+      orderby: key
       sequence:
         type: views.relationship.[plugin_id]
     css_class:
@@ -255,11 +262,13 @@ views_display:
     header:
       type: sequence
       label: 'Header'
+      orderby: key
       sequence:
         type: views.area.[plugin_id]
     footer:
       type: sequence
       label: 'Footer'
+      orderby: key
       sequence:
         type: views.area.[plugin_id]
     display_comment:
@@ -277,6 +286,7 @@ views_display:
     display_extenders:
       type: sequence
       label: 'Display extenders'
+      orderby: key
       sequence:
         type: views.display_extender.[%key]
 
@@ -701,6 +711,7 @@ views_style:
     grouping:
       type: sequence
       label: 'Grouping field number %i'
+      orderby: key
       sequence:
         type: mapping
         label: 'Field'
@@ -764,6 +775,7 @@ views_filter:
         operator_list:
           type: sequence
           label: 'List of available operators'
+          orderby: key
           sequence:
             type: string
             label: 'Operator'
@@ -782,6 +794,7 @@ views_filter:
         remember_roles:
           type: sequence
           label: 'User roles'
+          orderby: key
           sequence:
             type: string
             label: 'Role'
@@ -819,12 +832,14 @@ views_filter:
         default_group_multiple:
           type: sequence
           label: 'Defaults'
+          orderby: key
           sequence:
             type: integer
             label: 'Default'
         group_items:
           type: sequence
           label: 'Group items'
+          orderby: key
           sequence:
             type: views.filter.group_item.[%parent.%parent.%parent.plugin_id]
             label: 'Group item'
@@ -918,6 +933,7 @@ views_field_bulk_form:
     selected_actions:
       type: sequence
       label: 'Available actions'
+      orderby: key
       sequence:
         type: string
         label: 'Action'
diff --git a/core/modules/views/config/schema/views.display.schema.yml b/core/modules/views/config/schema/views.display.schema.yml
index d4af22527010a747f04cf86df437765259d281c5..d180125609401a015c787d69ec3507aed304fc51 100644
--- a/core/modules/views/config/schema/views.display.schema.yml
+++ b/core/modules/views/config/schema/views.display.schema.yml
@@ -104,6 +104,7 @@ views.display.feed:
     displays:
       type: sequence
       label: 'The feed icon will be available only to the selected displays.'
+      orderby: key
       sequence:
         type: string
         label: 'Display'
@@ -119,6 +120,7 @@ views.display.attachment:
     displays:
       type: sequence
       label: 'Attach to'
+      orderby: key
       sequence:
         type: string
         label: 'Display'
diff --git a/core/modules/views/config/schema/views.entity_reference.schema.yml b/core/modules/views/config/schema/views.entity_reference.schema.yml
index f13645ab4320cbdc750756e1a57c48f9a5bbff69..d5f3fde521ea4cf10264051bd2394a27e39afb75 100644
--- a/core/modules/views/config/schema/views.entity_reference.schema.yml
+++ b/core/modules/views/config/schema/views.entity_reference.schema.yml
@@ -17,6 +17,7 @@ entity_reference_selection.views:
         arguments:
           type: sequence
           label: 'View arguments'
+          orderby: key
           sequence:
             type: string
             label: 'Argument'
diff --git a/core/modules/views/config/schema/views.field.schema.yml b/core/modules/views/config/schema/views.field.schema.yml
index 4f47cb6141e778f307b8516acd18f6be5e2ea6ed..9a8135a558de6e9a74516589abfa448ced4e0705 100644
--- a/core/modules/views/config/schema/views.field.schema.yml
+++ b/core/modules/views/config/schema/views.field.schema.yml
@@ -74,6 +74,7 @@ views.field.links:
     fields:
       type: sequence
       label: 'Fields'
+      orderby: key
       sequence:
         type: string
         label: 'Field'
@@ -238,6 +239,7 @@ views.field.field:
     group_columns:
       type: sequence
       label: 'Group by columns'
+      orderby: key
       sequence:
         type: string
         label: 'Column'
diff --git a/core/modules/views/config/schema/views.filter.schema.yml b/core/modules/views/config/schema/views.filter.schema.yml
index 26d9ec1b3dfdcb6169cd45adb5b8db4e847a628d..ca4ac86b5dc6923b0f72b9cc276c74f5e76c4090 100644
--- a/core/modules/views/config/schema/views.filter.schema.yml
+++ b/core/modules/views/config/schema/views.filter.schema.yml
@@ -26,6 +26,7 @@ views.filter.combine:
     fields:
       type: sequence
       label: 'Fields'
+      orderby: key
       sequence:
         type: string
         label: 'Field'
@@ -44,6 +45,7 @@ views.filter.in_operator:
     value:
       type: sequence
       label: 'Values'
+      orderby: key
       sequence:
         type: string
         label: 'Value'
@@ -57,6 +59,7 @@ views.filter.in_operator:
     group_info:
       mapping:
         group_items:
+          orderby: key
           sequence:
             type: views.filter.group_item.in_operator
             label: 'Group item'
@@ -205,6 +208,7 @@ views.filter.date:
 views.filter_value.in_operator:
   type: sequence
   label: 'Values'
+  orderby: key
   sequence:
     type: string
     label: 'Value'
diff --git a/core/modules/views/config/schema/views.query.schema.yml b/core/modules/views/config/schema/views.query.schema.yml
index 2f030fbcf35d224ce3a3187e5897df9b179968bf..03cf24fa1167dd22c2f8cc1a24c74f91b5f53164 100644
--- a/core/modules/views/config/schema/views.query.schema.yml
+++ b/core/modules/views/config/schema/views.query.schema.yml
@@ -19,6 +19,7 @@ views.query.views_query:
     query_tags:
       type: sequence
       label: 'Query Tags'
+      orderby: key
       sequence:
         type: string
         label: 'Tag'
diff --git a/core/modules/views/config/schema/views.row.schema.yml b/core/modules/views/config/schema/views.row.schema.yml
index 3eae0c93549680cced990fd0eedda0717b783ff7..9d5fda32cede7a5758ecee228a2b0bd6970bc94a 100644
--- a/core/modules/views/config/schema/views.row.schema.yml
+++ b/core/modules/views/config/schema/views.row.schema.yml
@@ -17,6 +17,7 @@ views.row.fields:
     inline:
       type: sequence
       label: 'Inline'
+      orderby: key
       sequence:
         type: string
         label: 'Inline'
diff --git a/core/modules/views/config/schema/views.schema.yml b/core/modules/views/config/schema/views.schema.yml
index 8ddd73931f2c2d2c3ee2ed35efdddbf141daa5b8..47421270ef240a417aae9ad9d21855cf76e5761b 100644
--- a/core/modules/views/config/schema/views.schema.yml
+++ b/core/modules/views/config/schema/views.schema.yml
@@ -7,6 +7,7 @@ views.settings:
     display_extenders:
       type: sequence
       label: 'Display extenders'
+      orderby: key
       sequence:
         type: string
         label: 'Display extender'
@@ -58,6 +59,7 @@ views.settings:
     field_rewrite_elements:
       type: sequence
       label: 'Field rewrite elements'
+      orderby: key
       sequence:
         type: string
         label: 'Element'
@@ -95,6 +97,7 @@ views.view.*:
     display:
       type: sequence
       label: 'Displays'
+      orderby:key
       sequence:
         type: mapping
         label: 'Display settings'
@@ -126,11 +129,13 @@ views.view.*:
               contexts:
                 type: sequence
                 label: 'Cache contexts'
+                orderby: key
                 sequence:
                   type: string
               tags:
                 type: sequence
                 label: 'Cache tags'
+                orderby: key
                 sequence:
                   type: string
               # Deprecated.
diff --git a/core/modules/views/config/schema/views.style.schema.yml b/core/modules/views/config/schema/views.style.schema.yml
index 9dbd2ce5722b90b6e30e819c1a2045eda01c042d..06f5c583d96946dccfae5aed61cb6d7e2e5294e8 100644
--- a/core/modules/views/config/schema/views.style.schema.yml
+++ b/core/modules/views/config/schema/views.style.schema.yml
@@ -72,6 +72,7 @@ views.style.table:
     columns:
       type: sequence
       label: 'Columns'
+      orderby: key
       sequence:
         type: string
         label: 'Columns name'
@@ -81,6 +82,7 @@ views.style.table:
     info:
       type: sequence
       label: 'Columns info'
+      orderby: key
       sequence:
         type: mapping
         label:  'Column info'
@@ -171,6 +173,7 @@ views.style.entity_reference:
     search_fields:
       type: sequence
       label: 'Search fields'
+      orderby: key
       sequence:
         type: string
         label: 'Search field'
diff --git a/core/modules/views/tests/modules/views_test_data/config/schema/views_test_data.views.schema.yml b/core/modules/views/tests/modules/views_test_data/config/schema/views_test_data.views.schema.yml
index 40119a45c6705b9f1598fbc8806073e6de5d7939..bf5ffff6958a1d9394ed78ed9ac57a6220b5e5c0 100644
--- a/core/modules/views/tests/modules/views_test_data/config/schema/views_test_data.views.schema.yml
+++ b/core/modules/views/tests/modules/views_test_data/config/schema/views_test_data.views.schema.yml
@@ -17,6 +17,7 @@ views.style.mapping_test:
         numeric_field:
           type: sequence
           label: 'Numeric fields'
+          orderby: key
           sequence:
             type: string
             label: 'Numeric field'
diff --git a/core/modules/views/tests/src/Kernel/FieldApiDataTest.php b/core/modules/views/tests/src/Kernel/FieldApiDataTest.php
index a561f28f9f459e3d0999c9846649b8173a1609a2..6c3a088c9c5962d0e2de5fd14efb6646984234f2 100644
--- a/core/modules/views/tests/src/Kernel/FieldApiDataTest.php
+++ b/core/modules/views/tests/src/Kernel/FieldApiDataTest.php
@@ -338,14 +338,14 @@ public function testEntityFieldFilter(): void {
         'nid' => $node1->id(),
         'langcode' => 'es',
       ],
-      [
-        'nid' => $node1->id(),
-        'langcode' => 'fr',
-      ],
       [
         'nid' => $node2->id(),
         'langcode' => 'es',
       ],
+      [
+        'nid' => $node1->id(),
+        'langcode' => 'fr',
+      ],
       [
         'nid' => $node2->id(),
         'langcode' => 'fr',
diff --git a/core/modules/workflows/config/schema/workflows.schema.yml b/core/modules/workflows/config/schema/workflows.schema.yml
index fb0197ff8f206095501ad03c90dd9bdf9ada193d..a1f3cf573b39783467e06176e5f1706482976d50 100644
--- a/core/modules/workflows/config/schema/workflows.schema.yml
+++ b/core/modules/workflows/config/schema/workflows.schema.yml
@@ -39,6 +39,7 @@ workflows.transition:
     from:
       type: sequence
       label: 'From state IDs'
+      orderby: key
       sequence:
         type: string
         label: 'From state ID'
diff --git a/core/modules/workflows/tests/modules/workflow_type_test/config/schema/workflow_type_test.schema.yml b/core/modules/workflows/tests/modules/workflow_type_test/config/schema/workflow_type_test.schema.yml
index d2c1525f4864c78f8497321a6483d0e83d2c05f2..77466d9075cad2b017056476ce35234cf5e5d836 100644
--- a/core/modules/workflows/tests/modules/workflow_type_test/config/schema/workflow_type_test.schema.yml
+++ b/core/modules/workflows/tests/modules/workflow_type_test/config/schema/workflow_type_test.schema.yml
@@ -4,10 +4,12 @@ workflow_type_test.ignore_schema:
   mapping:
     states:
       type: sequence
+      orderby: key
       sequence:
         type: ignore
     transitions:
       type: sequence
+      orderby: key
       sequence:
         type: ignore
 
@@ -49,12 +51,14 @@ workflow.type_settings.workflow_type_complex_test:
     states:
       type: sequence
       label: 'States'
+      orderby: key
       sequence:
         type: workflows.state.complex_test_state
         label: 'States'
     transitions:
       type: sequence
       label: 'Transitions'
+      orderby: key
       sequence:
         label: 'Transitions'
         type: workflows.state.complex_test_transition
@@ -66,6 +70,7 @@ workflow.type_settings.predefined_states_workflow_test_type:
     transitions:
       type: sequence
       label: 'Transitions'
+      orderby: key
       sequence:
         label: 'Transitions'
         type: workflows.transition