Not sure if this is related or not but I'm having a similar issue with an OData query from PowerBI behaving very different than if I run it straight from the browser. Via a trace using Fiddler here is what I'm seeing.
If I run a select from the browser it makes one OData call to the API and I get the expected results in 2 seconds or less for a decent size data set of over 1000 records across 10 fields.
If I run that same OData call from a data set in PowerBI 16 calls are made to the API and in 3 calls captured it makes a call to /api/data/v8.2/$metadata and that call takes 20 seconds each time it runs. So I'm over 1 minute to get the same results in PowerBI.
Not sure why PowerBI has to make all these extra calls to accomplish pulling the same data.