How can I set a custom URI for the confirmation link of account email update from a front-end form?
I can't think of a clean way to do this because of this function

public function actionVerifyEmail(): Response
{
    // ..
    // snip 
    // ..
    if (Craft::$app-&gt;getUsers()-&gt;verifyEmailForUser($userToProcess)) {
        // ..
        // snip
        // ..
        // Redirect to the site/CP root
        $url = UrlHelper::url('');  // &lt;---- this is where we are
        return $this-&gt;redirect($url);  // ALWAYS redirect to root page
    }

    return $this-&gt;renderTemplate('_special/emailtaken', [
        'email' =&gt; $userToProcess-&gt;unverifiedEmail
    ]);
}


A clean way to achieve this is: 


Handle it entirely on your own -> custom controller + custom service, send the mail manually
Create a custom route to you'll only take care about activating them and overwrite the actionVerifyEmail - unfortunately you can't replace the controller via Dependency Injection
Create a feature request and hope Pixel and Tonic will be kind enough to create a config variable / event to overwrite this value