Intervals vs match_phrase

I am trying to convince myself that I should be using a match_phrase query instead of an intervals query for my use case. Are there any notable differences between the following two queries?

{
  "_source": { "includes": ["field1","field2","field3"] },
  "query": {
    "match_phrase": {
      "exact_name" : { 
        "query" : "Name1 Name2", "_name": "exact_name"
      }
    }
  },
  "sort": ["_doc"]
}

and:

{
  "_source": { "includes": ["field1","field2","field3"] },
  "query": {
    "intervals": {
      "exact_name" : {
        "match" : {
          "query" : "Name1 Name2",
          "max_gaps" : 0,
          "ordered" : true
        },
        "_name": "exact_name"
      }
    }
  },
  "sort": ["_doc"]
}

The mapping for "exact_name":

"exact_name": {
  "type": "text",
  "fields": {
    "keyword": {
      "type": "keyword",
    }
  }
}

The "exact_name" field contains a list of names separated by spaces and I only want to match documents where the given name appears in the correct order and without other names in between (or partial matches on names).

Are the two queries equivalent in their current configuration? I have run the queries through the search profiler in Kibana and the difference in the profiled IntervalQuery and PhraseQuery times are negligible.

Is there any reason why one query should be preferred over the other? The index in question contains about 80 million documents