(очевидно я где-то не выставлял в -1 где нужно в каком-то одном месте и там оставалось дефолтное "0" что всё ломало, но я все 10 раз просмотрел и не нашел его)
вообще учитывая ленивость select(x => UseCancellationToken(cts.Token, x)).Distinct() должно бросать исключение что операция отменена когда ты ожидаешь этого