When the themeBase option is set, the li and resetButton template options are ignored. This is due to the loading order in BSelect.php:

            $this->options["templates"] = Utility::get($this->options,"templates",array());
            $this->options["templates"]["li"] = "<li><a tabindex='0' class='dropdown-item'><label></label></a></li>"; 
            if($this->getThemeBase() === "bs4") {
                $this->options['templates']['resetButton'] = '<div class="multiselect-reset text-center p-2"><button type="button" class="btn btn-sm btn-block btn-outline-secondary">Reset</button></div>';
            }

$this->options["templates"] = Utility::get($this->options,"templates",array()); should occur last rather than first.

How to reproduce:

BSelect::create(array(
    'name' => "mySelect",
    'multiple' => true,
    'data' => [
        "John Doe"=>"1",
        "Jane Doe"=>"2",
        "Whatever Doe"=>"3",
    ],
    'options' => [
        'includeSelectAllOption' => true,
        'templates' => [
            'button' => '<button type="button" class="multiselect dropdown-toggle" data-bs-toggle="dropdown"><span class="multiselect-selected-text"></span></button>',
            'filter' => '<div class="multiselect-filter d-flex align-items-center"><input type="search" class="multiselect-search form-control" /></div>',
            'li' => '<button type="button" class="multiselect-option dropdown-item"></button>',
        ]
    ],
    "themeBase" => "bs5",
));