Twig invalid render array keys from a valid array
Build the array with renderable children:

  $vars['highlight'][$key] = [
    'title' =&gt; [
      '#markup' =&gt; 'Title here',
    ],
    'desc' =&gt; [
      '#markup' =&gt; 'Description here',
    ],
  ];


Now the loop to render each value separately should work or have the same result by rendering the complete render array:

{{ highlight }}