Run into it and ended up using something like following to be able to have users update their email address in the frontend:
add_filter( 'rwmb_meta_boxes', function( $meta_boxes ) {
$meta_boxes[] = [
'title' => '',
'id' => 'edit_user_profile',
'type' => 'user',
'fields' => [
[
'id' => 'first_name',
'name' => 'First Name',
'type' => 'text',
],
[
'id' => 'last_name',
'name' => 'Last Name',
'type' => 'text',
],
[
'id' => 'twt_user_email',
'name' => 'Email',
'type' => 'email',
'save_field' => false
],
],
];
return $meta_boxes;
} );
//hide user profile metabox in backend (otherwise duplicate)
add_filter( 'rwmb_show_edit_user_profile', '__return_false' );
//populate twt_user_email
add_filter('rwmb_twt_user_email_field_meta', function($meta, $field, $saved) {
$user = wp_get_current_user();
return $user->user_email;
}, 10, 3);
//update users email upon profile update
add_filter('rwmb_profile_update_user_data', function($data, $config ) {
$data['user_email'] = sanitize_email($_POST['twt_user_email']);
return $data;
}, 10, 2);