your method "site_url" check on URI the presence of profile.php. My Newsletter plugin creates an URL with profile.php inside but it's not the same file you're trying to intercept. You should try to identify if the file is the administrative version, addind "is_admin()" on condition or the wp-admin/ on the marching string.
Otherwise my plugin cannot activate the subscribers editing page (which is not the current user profile page).
Thank you, Stefano.