In your cases “wp_insert_term” does not save extra custom fields.
Please try with below code :
foreach ( $this->terms as $term_key=>$term) {
// insert new terms in taxonomy
wp_insert_term(
$term['name'],
$this->taxonomy,
array(
'slug' => $term['slug'],
'description' => $term['description']
)
);
update_option( 'term_team_code_' . $term['slug'], $term['code'] );
update_option( 'term_team_nba_id_' . $term['slug'], $term['nba-id'] );
update_option( 'term_team_espn_id_' . $term['slug'], $term['espn-id'] );
update_option( 'term_team_color_' . $term['slug'], $term['color'] );
unset( $term );
}