8 - Hide title in render array
This doesn't work anymore like this and the reason is render caching.

After calling view(), you only get a minimal render array, that will use #pre_render callbacks to complete itself in case of a cache miss. On a cache hit, it will return the cached HTML, without having to build all the fields.

The information you want to hide is in the template, both the title and the authored by information (which can be hidden for a node type for all bundles but not per view-mode).

The correct way to deal with that is to define your own view mode (default is wrong anyway, you should use 'full', not 'default', default is the fallback view display, not a view mode).

For that view mode, you can then provide a template/preprocess hook/hook_entity_view/hook_entity_view_alter hook, use any of those or a combination of it to achieve the desired result. To not show the authored by information, you can for example unset $variables['display_submitted'] as it uses that in the default node.html.twig template. Or provide a template suggestion for your view mode that removes that part completely. Both work, a preprocess is a bit easier from a module.

The important part is that you need your own view mode for that unless it is ok that full should never show that information, then that's fine too. The default cache key is entity type/entity id/view mode. There are other ways, you could add a cache context or you could even add another cache key, but you still need to do it within those hooks/template and the most obvious way to flag it for that is a view mode, that's what they exist for.