"но он не читает, объект пустой, в него нужно добавлять данные в ручную" - покажите живой пример такого поведения на jsfiddle или codepen, потому что я только что проверил, всё работает
Всё читает, если есть у поля name. Посмотреть значения можно так: Object.fromEntries([...formData.entries()]);
Отправлять надо именно FormData, если его используете.
Алексей Ярков, необходимость написания лишнего кода - это проблема. Я не говорил, что это большая проблема или что она нерешаемая. Автор вопроса был вынужден сюда придти, чтобы разобраться - looks like проблема to me.
Хорошо, если это так важно для вас, назовём это неудобством.
tyoma_koder, покажите как вы получаете значения. Всё должно работать нормально, а FormBoundary - это часть спецификации. Похоже, вы как-то не так читаете данные на сервере.