After enabling an extension (e.g. KAM) new menu callbacks are registered in civicrm_menu but not in Drupal, resulting in a 404 Not Found error when visiting pages provided by the extension. Manually clearing the Drupal cache fixes this.
I suspect that Drupal caches are not being adequately cleared by CiviCRM, which is probably a low-level problem affecting more than just this.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Ok I think I've got a better grip on what's going on.
CMS caches do not get cleared by CiviCRM; not when installing an extension, not when clearing the Civi caches, basically not ever - the only time I see a call to $config->userSystem->flush() is after performing an upgrade.
So why, you might ask, does menu caching not affect other systems? Well I think it's because all the paths we're talking about start with civicrm/. That tells Drupal 6 & Drupal 7 to go ahead and hand the request off to CiviCRM because they've already got civicrm/ registered in their menu and they don't care about the rest of the path string. WP and J! don't care either, because both of them get explicitly told to hand the request off to CiviCRM in their url arguments, they don't handle the routing at all.
Based on your report @JonGold it looks like D8 behaves a little differently than previous versions. It seems tolerant of one extra argument in the path but not two. So I'd hazard a guess that if your extension registered a path called civicrm/contact/view/who then it would work (because the civicrm/contact/view path already exists) but civicrm/contact/view/who/else would not work until D8 caches were cleared.
So what to do?
One solution is to explicitly clear CMS caches when un/installing an extension.
Another solution would be to investigate whether Drupal paths can be configured to be more forgiving of extra arguments, and try to register the /civicrm path as a "catch all" - this would mimic the behavior of D7 (which I believe has the same problem for any path that doesn't start with civicrm/).
A bit related, there were some interesting details here about how Drupal8 routes work: https://github.com/civicrm/civicrm-drupal-8/pull/41 (users of d8 may have noticed that frontend page titles are often wonky).
For what it's worth, I would recommend clearning the d8 cache as late as possible, i.e. presumably after postInstall, because the cache-clear sometimes crashes mysteriously.