Force changing the Site Title and add link

add_filter('option_blogname', 'filter_name');

function filter_name($string) {
   return str_replace('original', 'replacement', $string);
}

This code should work, as well as yours. But there’s one catch, you have to use get_bloginfo like this:

echo get_bloginfo('name', 'raw');

If not, bloginfo sanitizes the output, and it eliminates the <a></a>. At the same time is someting good, because if not you would mess up a lot of things the in the dashboard.