See section 4. sub custom field values https://www.advancedcustomfields.com/resources/query-posts-custom-fields/
Looking at your code I would assume
if( isset($_GET['goal']) && $_GET['goal']) { // is working
$query->set('meta_key', 'goal_$_text');
$query->set('meta_value', $_GET['goal']);
$query->set('compare', 'LIKE');
}