views – HOOK_views_pre_render() not rendering the updated results arraycorrectly

I have a D8 view with the main page display and created an embed display to get another dataset. I want to merge the result of both displays and make the embed display result sit at the very bottom, but, I don’t want to create an attachment instead of the embed display. So I wrote this piece of code to achieve this task:

function test_views_pre_render(ViewExecutable $view) {
  if($view->id() == 'courses' && $view->current_display == 'page_1') {
    $view2 = views_get_view_result('courses', 'embed_1');
    if(empty($view2)){
      return;
    }
    $view->result = array_merge($view->result, $view2);
  }
} 

When I check the result through xDebug I can see the view output contains the merged data. But, in the preview, I can only see 3 dots, which represent 3 items merged from the embed display onto the main display.

enter image description here

Surely a problem with rendering. Does anyone can see if I’m doing anything wrong here?. Thanks in advance for your help. Please excuse me about the question title.