How to get the url from a link field in preprocess function
If you inspect with $variables['items'][0]['content'] with Devel kint

kint($variables['items'][0]['content']);





  But it doesn't work and I think it's because by the time I get to that
  point, Drupal has already used the uri for the #title.


Correct, so all you gotta do is check if the title is equal to the url utilizing Url::toString. 

  if ($variables['field_name'] == 'field_event_location_link') {
    $link_url = $variables['items'][0]['content']['#url']-&gt;toString();
    if ($variables['items'][0]['content']['#title'] == $link_url) {
      $variables['items'][0]['content']['#title'] = 'Location';
    }
  }