How to disable javascript validation of html5 URL element?
One way to do this is to simple not use the URL render element.  You can still use its validation, but you replace the URL element with a textfield element.

/**
 * Implements hook_field_widget_form_alter().
 */
function mymodule_field_widget_form_alter(&amp;$element, FormStateInterface $form_state, $context) {

  if ($context['items']-&gt;getFieldDefinition()-&gt;getType() == 'link') {
    $settings = $context['items']-&gt;getFieldDefinition()-&gt;getSettings();
    // If external link, don't use HTML5 URL element, to prevent its annoying
    // pop-ups.  Use a textfield with the backend validation from the URL element.
    if (!empty($settings['link_type']) &amp;&amp; $settings['link_type'] == 16) {
      $element['uri']['#type'] = 'textfield';
      array_unshift($element['uri']['#element_validate'], ['Drupal\Core\Render\Element\Url', 'validateUrl']);
    }
  }