Hmm? If you had each query independent and querying from source, that payload is 700k * # of query. By building referenced query off of single query, payload is reduced to 700k rows.
Also, DAX can perform pretty much any transformation that PQ can do (as long as source data is in flat table structure). It just is more convenient to do it in PQ.
Alternative, is to use incremental load of data, this can dramatically reduce your payload per refresh. Since you have PowerBI Premium, you have that option. Have a read of link below.
https://docs.microsoft.com/en-us/power-bi/service-premium-incremental-refresh
In my experience, for reports with frequent update/refresh, you almost never need raw data with 700k rows. You can usually set up View, on-premise stating server etc to perform data aggregation and reduce payload before hitting BI Service.