Задачу решил, но остался вопрос. Если при десериализации конструктор НЕ вызывается, то как инициализируются поля, для которых значение мы отметили transient? Они ведь не были сериализованы, значит не записались, а значения формируются в конструкторе.