Why am I getting mangled menus and why can't CiviCRM find its own /ext directory?
When you install D8/CiviCRM with Composer you end up with CiviCRM's .gitignore file in the vendor/civicrm/civicrm-core directory. Renaming that .gitignore outoftheway solves the problem. No civicrm.settings.php file edits required! Of course you can be more selective but think of not ignoring bower_components as well as the /ext -&gt; that's what solved this issue instantly.