Changing entity base field settings
Base fields are defined in code. When code updates change the database schema you can implement the updates via entityDefinitionUpdateManager in an update hook as shown in the question. This is not possible in a form submit.
If you want to store field settings in a form submit load the field config and save it:
// if the entity type has no bundles use the entity type id:
$entity_type_id = 'vehicle';
$bundle = 'vehicle';

$fields = \Drupal::service('entity_field.manager')-&gt;getBaseFieldDefinitions($entity_type_id);
$field_config = $fields['field_example']-&gt;getConfig($bundle);
// make changes
$field_config-&gt;save();

For form and view display settings you can use EntityDisplayRepositoryInterface::getFormDisplay and EntityDisplayRepositoryInterface::getViewDisplay:
$display_repository = \Drupal::service('entity_display.repository');
$display = $display_repository-&gt;getViewDisplay($entity_type_id, $bundle, 'default');
$display-&gt;setComponent('field_example', $display_options);
$display-&gt;save();

For both code examples if there is no configuration stored yet it will be created.

Your question is about a custom form. Instead you could expose the core field admin UI by adding field_ui_base_route to your entity, even if you don't intend to use bundles or view modes. This works also for base fields marked as configurable. See How do I add a view mode to a simple custom entity?