`refilter_queryset()` is called by `qs` once, yes... but `refilter()` calls `qs` :)

So, if there are no results at each step, we get:
- `qs` is called
- no results found, `refilter_queryset()` is called
  - it tweaks the filters and recalls `qs`
  - go to first step

This stops as soon as there is a result or if the generator is exhausted (no fallback left to try)