I've changed the URL of our site from beta.example.net to example.net and now CiviCRM is loading with the Drupal frontend theme instead of it's own.
I've enforced the change by updating the line in .htaccess that's enforcing https. It now reads as
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.net/$1 [R=301,L]
I've also updated the base URL in Drupal's settings.php to
$base_url = 'https://example.net';
and the site URL in civicrm.settings.php with
if (!defined('CIVICRM_UF_BASEURL')) {
define( 'CIVICRM_UF_BASEURL' , 'https://example.net/');
}
I've also tried setting the CMS root in civicrm.settings.php with both
define('CIVICRM_CMSDIR', 'https://example.net/');
and
define('CIVICRM_CMSDIR', '/var/sites/c/example/public_html/');
but neither seems to make any difference.
My best guess was that I'd broken something with Shoreditch, trying at some point in the past to define a relative URL so that CiviCRM wouldn't constantly display an error. But I've gone to https://example.net/civicrm/admin/extensions (I can't navigate to it through the current theme) and disabled Shoreditch and the error is still occurring.
With Shoreditch enabled, this is how the resource URLs screen currently looks:
Screenshot of the current state of the extensions page:
And, just to confirm I cleared the cache:
Drupal's own backend loads as expected (though somewhat slowly). Drupal 7.67. CiviCRM 5.18.2. Shoreditch 0.1-alpha34.