Looking into this bug again, it seems that it's the same problem as https://bugzilla.redhat.com/show_bug.cgi?id=1011704. udev apparently needs OPTIONS+="db_persist" set at some point in the initrd or it throws away the necessary information.
I've made this change locally (adding the attached file to /etc/udev/rules.d/69-local-dm-persist.rules, plus a hook to /etc/initramfs-tools/hooks/ so it gets copied to the initrd) and my root device has the correct properties now.
# Apparently this is needed or udev breaks the initfs SUBSYSTEM!="block", GOTO="dm_end" KERNEL!="dm-[0-9]*", GOTO="dm_end" ACTION!="add|change", GOTO="dm_end" OPTIONS+="db_persist" LABEL="dm_end"