Simple key => value array with QueryInterface
The only way I know to do this is similar to what @Ivan Jaros mentions in the comment above. That is to use a Database service instead of EntityQuery service. There is a handy method on the query Statement, fetchAllKeyed, that I use all of the time in Drupal 7.

$database = \Drupal::service('database');
$query = $database-&gt;select('node', 'n');
$query-&gt;join('node_field_data', 'nfd', 'n.nid = n.nfd.nid');
$query
  -&gt;fields('n', ['nid']),
  -&gt;fields('nfd', ['title']) 
  -&gt;condition('n.type', 'product')
  -&gt;condition('nfd.status', 1)
  -&gt;execute()
  -&gt;fetchAllKeyed();


Unfortunately this has drawbacks:


Multilingual - you need to do this manually in the query above.
Probably not going to work well with non-SQL drivers.
Might run into performance issues still because the data is not cached.