How to move block from a region inside of hook_preprocess_node?
I think you should send render of the block not an array of block entity.
View Method return an array.

Try with renderer service like the following:

/**
 * Implements hook__preprocess_HOOK().
 */
function mymodule_preprocess_node(&amp;$variables) {
  $node = $variables['elements']['#node'];
  if ($node-&gt;bundle() == 'page') {
    $block_entity = Drupal\block_content\Entity\BlockContent::load(12345);//BLOCK_ID
    $block_view = \Drupal::entityTypeManager()
      -&gt;getViewBuilder('block_content')
     // Change here default by your block view mode
      -&gt;view($block_entity, 'default');
    $variables['mycustomblock_variable'] =\Drupal::service('renderer')-&gt;renderRoot($block_view);
  }
}