Unable to save has_one change when editing from related data object admin

Silverstripe Version: 5

I have two DO’s. Application with a has_one to Intake. Intake has a has_many to Applications.

If I’m editing the Application from it’s own admin link/area I can change the Intake drop down and it saves no problem.

If I’m in the Intake admin area Silverstripe adds a tab top right for the related has_many Applications.
Clicking a row in the auto generated GridField takes me to the edit screen for the Application (which is the same as the above).

On this screen changes to the Intake drop down don’t save. Changes to other fields do.

I assume this is because we originally came from the Intake record and if that’s changed navigation like the breadcrumbs won’t work as we’re no longer under the correct has_one record we started from.

The Intake model doesn’t have a getCMSFields function at all.

All I do with the Intake field in the Application getCMSFields is change the order:

$IntakeField = $fields->dataFieldByName('IntakeID');
$fields->insertBefore('AnotherFieldName', $IntakeField);

Am I missing something?

I was surprised to see the Intake drop down wasn’t readonly when editing from the Intake area.