https://github.com/bitcoin/bitcoin/blob/5180a86c96bc05d2a731f70f36aae28ab5a3fad4/src/qt/sendcoinsdialog.cpp#L339

I think this is %1, not %2
if (index+1 > static_cast<int>(confTargets.size())) {
        return confTargets.back();
    }
    if (index < 0) {
        return confTargets[0];
    }
    return confTargets[index];
}
int getIndexForConfTarget(int target) {