navigation – Menu link tree only loads enabled elements in subtree regardless of parameters

When loading a menu tree without any custom parameters:

$tree = Drupal::menuTree()->load('my-menu-name', new MenuTreeParameters());

The returned tree DrupalCoreMenuMenuLinkTreeElement() includes disabled items, which is what I want. I did not set onlyEnabledLinks() or addCondition('enabled', 1) to the MenuTreeParameters.

For some reason, though, every subtree returned beyond the root level excludes disabled items. Even if I re-query each subtree, it still happens:

foreach ($tree as $element) {
    
    // Do stuff
    
    $parameters = new MenuTreeParameters();
    $parameters->setRoot($element->link->getPluginId())->excludeRoot();
    $subtree = Drupal::menuTree()->load('my-menu-name', $parameters);
}

The only way I have found to include disabled items so far has been to re-query each subtree twice with $parameters->addCondition('enabled', 1); and $parameters->addCondition('enabled', 0);, which is ridiculous.

I can’t find anything in the documentation to suggest this is the correct behavior of Drupal, but I’m hoping someone can spot something I’m missing before I submit a bug report. This is in Drupal 9.1.