Обычно всегда именованные параметры со значением по умолчанию стоят после позиционных. Если спроектировать функцию так, тогда всё работает хорошо:
def total(*b, a=5):
print(a, b)
Конкретно для данного примера, нельзя обойтись без костыля, чтобы достичь вашей цели.