Что заставляет вас думать, что передача аргументов конструктору является наиболее распространенным способом инициализации полей? Я бы скорее сказал, что все поля инициализируются при создании объекта, но только через аргументы конструктора.
Да, поля инициализируются при создании объекта. Нет значения поля undefined в экземпляре. Но довольно обычно , что поля экземпляра получают свои действительные значения после того, как экземпляр был создан. Довольно часто создают какой-либо экземпляр по умолчанию и устанавливают необходимые значения позже с помощью методов установки или даже с помощью внедрения зависимости.