What is the right way to use a different base theme for some pages when applying custom theme?
How can I make the UI appearance of these special pages stay in
  "seven" theme?


Seven is the default theme for admin paths in Drupal. To mark special pages like the user login as admin path use the module Admin Login Path.

You can add your own paths in a custom route subscriber like the one from the module:

&lt;?php

namespace Drupal\admin_login_path\Routing;

use Drupal\Core\Routing\RouteSubscriberBase;
use Symfony\Component\Routing\RouteCollection;

/**
 * Listens to the dynamic route events.
 */
class RouteSubscriber extends RouteSubscriberBase {

  /**
   * {@inheritdoc}
   */
  protected function alterRoutes(RouteCollection $collection) {
    // Define the routes we want to use the admin theme.
    $login_routes = ['user.login', 'user.register', 'user.pass'];
    foreach ($collection-&gt;all() as $name =&gt; $route) {
      if (in_array($name, $login_routes)) {
        $route-&gt;setOption('_admin_route', TRUE);
      }
    }
  }

}