Вы вроде все подробно расписали. Но!
Забыли описать, как добавили {{ text }} в файл "catalog/view/theme/default/template/common/footer.twig" или Вы его туда таки не добавили?
+
Если добавили, то кеш твига обновляли?
++
А вы делали var_dump для $data['text'] в самом контроллере? Что-то я засомневался, что там что-то получается
По идее должно быть:
$text = $this->config->get('theme_default_footer_text'); // поле в таблице `oc_setting` называется именно так. А если добавить ID языка, то выйдет 'theme_default_footer_text0'
$data['text'] = $text[$this->config->get('config_language_id')];