Create a link in hook_mail_alter()
That happens because the class normally handling the email sending (PhpMail) uses the following code, in PhpMail::format().

  // Convert any HTML to plain-text.
  $message['body'] = MailFormatHelper::htmlToText($message['body']);
  // Wrap the mail body for sending.
  $message['body'] = MailFormatHelper::wrapMail($message['body']);


In particular, this is the code handling the links. (See the comment before the code.)

  // Replace inline &lt;a&gt; tags with the text of link and a footnote.
  // 'See &lt;a href="https://www.drupal.org"&gt;the Drupal site&lt;/a&gt;' becomes
  // 'See the Drupal site [1]' with the URL included as a footnote.
  static::htmlToMailUrls(NULL, TRUE);
  $pattern = '@(&lt;a[^&gt;]+?href="([^"]*)"[^&gt;]*?&gt;(.+?)&lt;/a&gt;)@i';
  $string = preg_replace_callback($pattern, 'static::htmlToMailUrls', $string);
  $urls = static::htmlToMailUrls();


To send HTML emails, you need a different class implementing MailInterface. The Swift Mailer module implements it, for example, and allows to send HTML emails; it also allows to select in which way to send a message (server SMTP, MTA agent, mail() function).
The Mail System module provide a UI that allows to select the mail plugin used to send emails, so you don't need to mess with the configuration to do it.