Прежде всего, посмотрите параметры шаблона: template <int ... N>. Даже если переменное число аргументов шаблона может быть присвоено f, все они должны иметь тип int.
Теперь, когда вы используете f<t1, t2, ..., tn>, распаковка параметра (7 + N...) будет следовать шаблону 7 + N и развернуть до
7 + t1, 7 + t2, 7 + t3, ..., 7 + tn
Поэтому вы получаете кортеж, который содержит каждый из ваших аргументов шаблона, увеличивающийся на семь. Подробности можно найти в разделе 14.5.3 Шаблоны Variadic [temp.variadic].
3. Расширение пакета состоит из шаблона и эллипсиса, экземпляр которого производит ноль или более экземпляров шаблона в списке [...].