Yes, this is the wanted behaviour and no, there is no option for that.
If I create a task in a third-party client and upload it to my Baikal server, DavDroid downloads/creates the task properly. When DavDroid synchronizes a second time, it uploads the task with reordered properties and a new PRODID without any semantic changes made to the task through the Task app.
EDIT: I’ve figured out that this only happens if DavDroid just downloaded the task for the first time (after account creation, or if a new task is created elsewhere).
Furthermore I’d urge you to reconsider your treatment of the PRODID. The iCalendar RFC clearly states that the PRODID should identify the app that created the iCalendar object – that DavDroid doesn’t actually store the raw iCalendar object should be kept an implementation detail.