Al final conseguí solucionarlo, así que por si alguno más le sirve voy a contaros que hice.
Primero active en el tema la paginación clásica, nada de paginación infinita o con botón, que salgan la cantidad de páginas que hay. Modifiqué el pagination.tpl dentro del directorio _partials, con el módulo de ofuscar enlaces de winamic instalado. El código quedó tal que así:
<nav aria-label="Page navigation"> {block name='pagination_page_list'} <ul class="pagination"> {foreach from=$pagination.pages item="page"} <li class="page-item {if $page.current} active {/if} {['disabled' => !$page.clickable]|classnames}"> {if $page.type === 'spacer'} <span class="spacer">…</span> {else} {if $pagination_jump_to && $is_product_page && !$page.clickable} <div class="input-group st_pjump_box general_border" data-url="{$page.url}" data-count="{$pagination.pages_count}"> <input type="number" class="form-control" name="st_pjump" value="{$page.page}"> <div class="input-group-append"> <button class="btn st_pjump_button" type="button" title="{l s='Jump to' d='Shop.Theme.Actions'}"><i class="fto-search-1"></i></button> </div> </div> {else} <span datatext="{winamic_linkobfuscator::base64url_encode($page.url)}" class="datatext page-link {if $page.type === 'previous'}previous {elseif $page.type === 'next'}next {/if}{['disabled' => !$page.clickable, $pagi_class => $is_product_page]|classnames}" {if $page.type === 'previous'} aria-label="Previous" {elseif $page.type === 'next'} aria-label="Next" {/if} > {if $page.type === 'previous'} <i class="fto-left-open-3"></i><span class="sr-only">{l s='Previous' d='Shop.Theme.Actions'}</span> {elseif $page.type === 'next'} <i class="fto-right-open-3"></i><span class="sr-only">{l s='Next' d='Shop.Theme.Actions'}</span> {else} {$page.page} {/if} </span> {/if} {/if} </li> {/foreach} </ul> {/block} </nav>