I changed “Howdy” in the admin bar in the dashboard, but when I’m viewing the site it still says Howdy!

I see a couple of problems here.

This line

 if (!is_admin() || 'default' != $domain)
    return $translated;

returns the Howdy right back unchanged if is_admin is false – which it is if you’re not in the dashboard.

Also, you’re running your filter callback on gettext. This means it will be run every time some internationalized content is used, which is very inefficient. You’d be better off using a more appropriate filter, like below.

function change_howdy( $wp_admin_bar ) {
    $my_account = $wp_admin_bar->get_node( 'my-account' );
    $new_title   = str_replace( 'Howdy', 'Explore the Possibilities', $my_account->title );
    $wp_admin_bar->add_node( array(
        'id'    => 'my-account',
        'title' => $new_title,
    ) );
}

add_filter( 'admin_bar_menu', 'change_howdy', 25 );