Automatically replace &nbsp with space

Yes, this is possible. You could do it when saving the post, or just when rendering (which won’t change the actual content in the editor).

Using the_content filter, replacing characters in rendering:

function wpse_387560( $content ) {
    $content = str_replace( ' ', ' ', $content );
    return $content;
}

add_filter( 'the_content', 'wpse_387560' );

Using the wp_insert_post_data hook, replacing them in the content when saving:

function wpse_387560( $data ) {
    $data['post_content'] = str_replace( ' ', ' ', $data['post_content'] );
    return $data;
}

add_filter( 'wp_insert_post_data', 'wpse_387560' );