Entity IDs used in paths are converted to their full entity in request processing. Such as /node/12 or /node/add/article or /admin/structure/menu/manage/navigation. Administration paths (such as the latter example and under default configuration the middle example) got their entities converted without overrides, so the original entity is loaded, no global, language, etc. overrides are applied by default. This default logic for paths like /admin/structure/menu/manage/navigation ensures that the original values are edited and translations can be maintained elsewhere.
This was a problem for paths like /node/add/article which may be configured as an admin page, but is not designed to edit the article content type. Pages such as that one need the entity loaded with overrides applicable for the page. While the default assumption of converted entities being used for editing stands for almost all administration paths, there are exceptions like /node/add/article. If you face a similar exception, use the with_config_overrides option for entity conversion so overrides will be intact.
Snippet from node.routing.yml:
node.add:
path: '/node/add/{node_type}'
defaults:
_controller: '\Drupal\node\Controller\NodeController::add'
_title_callback: '\Drupal\node\Controller\NodeController::addPageTitle'
requirements:
_node_add_access: 'node:{node_type}'
options:
_node_operation_route: TRUE
parameters:
node_type:
with_config_overrides: TRUE
The entity type provided in the route as {node_type} is referenced under options -> parameters and the with_config_overrides option is specified there.
Entity conversion on admin paths defaults to no overrides. Entity conversion on frontend pages, such as /contact/feedback (where feedback is a default contact category) are always upcast with overrides and that is not possible to disable. You can load the entity again without overrides in your controller if you need the original version.
Note prior name: When this parameter option was first added to Drupal 8 during the development cycle, it was called use_current_language instead of with_config_overrides. This was changed prior to the 8.0 release.