Registering a post type in functions.php ties the site’s content model to its appearance, so changing the theme deletes the URLs.
// wp-content/mu-plugins/turkerdev-content.php
// loads first, cannot be deactivated, has no activation hook
add_action( 'init', function () {
register_post_type( 'case_study', array( /* ... */ ) );
register_taxonomy( 'sector', 'case_study', array( /* ... */ ) );
} );
Must-use plugins load before regular ones and cannot be deactivated from the admin, which is the property that makes them right for anything the site cannot function without. Only files at the top level of the directory load automatically, so a plugin in a subdirectory needs a one-line loader next to it — the detail that makes people think must-use plugins do not work. There is no update mechanism and no activation hook, so anything needing a table checks for it on load.