Slow query times for has() function (on play.dgraph.io)

Also, it seems that if the query doesn’t reach the limit for any reason, the request is much longer. e.g.:

{
  q(func: has(name), first: 100, offset: 500) {
  	name
  }
}

gives

{
  ...
  "extensions": {
    "server_latency": {
      "parsing_ns": 68804,
      "processing_ns": 1662391018,
      "encoding_ns": 140824,
      "total_ns": 1662655543 # 1.6 secs
    },
    "txn": {
      "start_ts": 343271
    },
    "metrics": {
      "num_uids": {
        "_total": 100,
        "name": 100
      }
    }
  }
}

but

{
  q(func: has(name), first: 100, offset: 510) {
  	name
  }
}

gives

{
  ...
  "extensions": {
    "server_latency": {
      "parsing_ns": 55267,
      "processing_ns": 18231784824,
      "encoding_ns": 130284,
      "total_ns": 18232029560 # 18.23 secs
    },
    "txn": {
      "start_ts": 343271
    },
    "metrics": {
      "num_uids": {
        "_total": 93,
        "name": 93
      }
    }
  }
}

Given the number of nodes on play.dgraph.io (21 million apparently), I’m wondering if perhaps some loop over all the nodes is being done when in fact only the objects of the ‘name’ predicate should be being accessed.

Can anyone @graphql confirm this is a bug, or explain why the queries that are still searching after they hit all the nodes take so much longer? Thanks.