Form values null for process definition

Making a call to FormService.getStartFormData(String processDefinitionId) returns a StartFormData object. Calling getFormProperties() on that object returns a collection of FormProperty objects. For each of these objects, calling getValue() returns null event if the expression field on that form element is populated.

When performing a similar call with FormService.getTaskFormData(String taskId), getValue() returns whatever is defined in the expression field.

I am using this strategy to provide default values. Is this the intended behaviour? I don’t understand what would be different between fetching form elements tied to a process definition vs a task.

Appreciate any insight into this.