Child theme does not override parent theme values (custom-header)

No need to do the remove_theme_support, just put yours in your functions.php file, make sure its a different image (might sound obvious but just in case):

$custom_header_args = array(
    'default-image' => get_theme_file_uri( '/assets/images/header.jpg' ),
    'width' => 2000,
    'height' => 1200,
    'flex-height' => true,
    'video' => true,
);
add_theme_support('custom-header', $custom_header_args);

the child theme custom header theme_support values will always override the values of the parent, its commented in the core:

// Merge in data from previous add_theme_support() calls.
// The first value registered wins. (A child theme is set up first.)
if ( isset( $_wp_theme_features['custom-header'] ) )
    $args[0] = wp_parse_args( $_wp_theme_features['custom-header'][0], $args[0] );

the functions.php of the child theme will run first (registering the theme support first) then the functions.php of the parent.