В JS нет именованных аргументов. Ваш вызов передаёт первым параметром 5, вторым - результат выражения (c = 5), то есть 5. Третий аргумент не указан и используется по умолчанию.
Имитировать именованные аргументы можно используя передачу объекта:
function sum({ a, b = 2, c = 3 }) {
return a + b + c;
}
sum({ a: 5, c: 5 }); // 12