How to set all external links from a certain user to “nofollow”?

You want to try something like this (untested):

// Nofollow in content
$author_id = get_the_author_meta( 'ID' );
add_filter('the_content', 'my_nofollow');

function my_nofollow($content) {
    //return stripslashes(wp_rel_nofollow($content));

    return preg_replace_callback('/<a[^>]+/', 'my_nofollow_callback', $content);
}

function my_nofollow_callback($matches, $author_id) {
    $link = $matches[0];
    $site_link = get_bloginfo('url');
    if ($author_id === 4) {
        if (strpos($link, 'rel') === false) {
            $link = preg_replace("%(href=\S(?!$site_link))%i", 'rel="nofollow" $1', $link);
        } elseif (preg_match("%href=\S(?!$site_link)%i", $link) && (strpos($link, 'rel') === false)) {
            $link = preg_replace('/rel=\S(?!nofollow)\S*/i', 'rel="nofollow"', $link);
        }
    }
return $link;
}

Note: This is based on a nofollow function I am using on one of my sites and I just added a conditional for if ( is_author () ) in there