Я нашел место в коде компонента, где выводится фильтр категорий - это файл из папки "\components\com_bagallery\helpers\bagallery.php".
Код вот такой:
        if ($general->category_list == 1 && $general->album_mode != 1 && !$categorySelector) {
            $html .= "<div class='row-fluid'><div class='span12 category-filter' style='display: none;'>";
            foreach ($categories as $category) {
                $settings = explode(';', $category->settings);
                if (!in_array($settings[4], $unpublishCats)) {
                    $alias = $aliasMap[$settings[4]];
                    $html .= "<a ";
                    $alias = strtolower($alias);
                    $alias = str_replace(' ', '-', $alias);
                    $alias = str_replace('%', '', $alias);
                    $alias = str_replace('?', '', $alias);
                    $alias = urlencode($alias);
                    $html .= " data-alias='".$alias."'";
                    if (!empty($category->password)) {
                        $html .= ' data-password data-id="'.$category->id.'"';
                    }
                    if (strpos($currentUri, '?') === false) {
                        $alias = $currentUri.'?'.$alias;
                    } else {
                        $alias = $currentUri.'&'.$alias;
                    }
                    if (self::$_currentCat == $settings[4]) {
                        self::$_currentAlias = $alias;
                    }
                    $html .= ' href="'.$alias.'"';
                    $html .= " data-filter='.category-" .$settings[4];
                    $html .= "' class='ba-btn ba-filter";
                    if ($settings[1] == 1) {
                        $defaultCategory = $settings[4];
                        $html .= "-active";
                    }
                    $html .= "'>" .$settings[0]. "</a>";
                }
            }
            $html .= "<select class='ba-select-filter'>";
            foreach ($categories as $category) {
                $category = explode(';', $category->settings);
                if (!in_array($category[4], $unpublishCats)) {
                    $html .= "<option value='.category-" .$category[4]. "'";
                    if ($category[1] == 1) {
                        $html .= " selected";
                    }
                    $html .= ">". $category[0]. "</option>";
                }
            }
            $html .= "</select>";
            if (!empty(self::$_tags) || !empty(self::$_colors)) {
                $html .= "<a class='show-filter-modal' href='#'>".$language->_('FILTER')."</a>";
            }
            $html .= "<input type='hidden' value='" .$defaultFilter. "' class='";
            $html .= "default-filter-style'>";
            $html .= "</div></div>";
        }
Я опустил весь фрагмент ниже, после вот этих строк:
            $html .= $language->_('LOAD_MORE'). "-_-" .$language->_('SCROLL_TOP');
            $html .= "'></div></div>";
        }
И после этого фильтр переехал вниз, под миниатюры.
Правда, не могу себе представить, зачем это нужно, ведь фильтр будет "скакать" по экрану при переключении категорий из-за разного количества изображений в каждой из них.
Но, тем не менее, поставленная задача решена.
Единственное - нужно помнить об сделанных изменениях файла компонента при проведении обновлений, и не забывать повторять перенос кода после каждого очередного обновления компонента галереи.
Примечание - версия галереи в этом примере - 2.2.5
Хотя я у себя вывожу галерею не в режиме альбома с фильтром категорий, а провел модификацию, и все вложенные альбомы выводятся с шапкой в виде цепочки ссылок типа хлебных крошек (breadcrumbs), позволяющей посетителю сайта вернуться вверх сразу на любой нужный ему уровень вложенности, кликнув на одной из ссылок в "breadcrumbs". На трех "последовательных" скриншотах в принципе понятно, что в верхней строке присутствуют активные ссылки, разделенные слешем ("/").