You got me on the right direction, thanks a lot. For some reason my Horde installation did not properly report its priorities via DAV.
If people ever come to this post due to similar errors:
nag_tasks in the Horde DB uses the Default 0 for task_priority. If I interpreted the issue correctly, Horde only supports five priorities, 1-5. But as the CalDAV standard(?) expects 0-9, this is evaluated when reported via ics (e.g. priority 2 in the DB and the web interface is reported to DavDroid as a 3 while 3 is reported as 5). Not only are not all values used or usable, the Default of 0 is not evaluated at all (similar to values above 5, it seems) which results in an empty string. To resolve this, I manually changed all the tasks in the DB with
task_priority 0 or >5 to 2 and also changed the Default value of the table to 3 (which evaluates to 5).
These are the commands I used, continue with caution:
ALTER TABLE nag_tasks CHANGE `task_priority` `task_priority` int(11) NOT NULL DEFAULT '3';
UPDATE nag_tasks SET task_priority = 3 WHERE task_priority = 0 OR task_priority > 5;
While my Horde installation is up to date, I initially installed it four or five years ago, so perhaps the “new install db scheme” has been changed in the meantime.