hook_ENTITY_TYPE_view() only fires once on cache rebuild?
Yes, it is. Entities are render cached. If your output is dynamic/depends on something, you need to provide the necessary cache contexts, use placeholders or something like that.

See https://www.drupal.org/docs/8/api/render-api/cacheability-of-render-arrays.

If it's just about debugging locally, there is an example.settings.local.php file that has a example lines to disable those caches, but make sure you always test it with enabled caches before deploying.