Display top level of book, in book navigation block
This looks like a bug in the book module.

I have added a patch for it.

https://www.drupal.org/node/2827910#comment-11780887

You could add that patch, or create a new block that overrides the BookNavigationBlock,

in a custom module add /src/Plugin/Block/CustomBookNavigationBlock.php:

  namespace Drupal\mymodule\Plugin\Block;

  use Drupal\book\Plugin\Block\BookNavigationBlock;

    /**
     * Provides a 'Book navigation' block.
     *
     * @Block(
     *   id = "custom_book_navigation",
     *   admin_label = @Translation("Book navigation - Customized"),
     *   category = @Translation("Menus")
     * )
     */
    class CustomBookNavigationBlock extends BookNavigationBlock {

      /**
       * {@inheritdoc}
       */
      public function build() {
        $current_bid = 0;

        if ($node = $this-&gt;requestStack-&gt;getCurrentRequest()-&gt;get('node')) {
          $current_bid = empty($node-&gt;book['bid']) ? 0 : $node-&gt;book['bid'];
        }
        if ($this-&gt;configuration['block_mode'] == 'all pages') {
          return parent::build();
        }
        elseif ($current_bid) {
          // Only display this block when the user is browsing a book and do
          // not show unpublished books.
          $nid = \Drupal::entityQuery('node')
            -&gt;condition('nid', $node-&gt;book['bid'], '=')
            -&gt;condition('status', NODE_PUBLISHED)
            -&gt;execute();

          // Only show the block if the user has view access for the top-level node.
          if ($nid) {
            $tree = $this-&gt;bookManager-&gt;bookTreeAllData($node-&gt;book['bid'], $node-&gt;book);
            return $this-&gt;bookManager-&gt;bookTreeOutput($tree);
          }
        }
        return array();
      }

    }