There were a number of races w.r.t. device creating and linking in the past. You could try udevadm settle (maybe with a --subsystem=3D option) after cryptsetup as a workaround and see if the bug disappears. Other than that, I wouldn't know how to solve it.
Also, please make sure that all files (especially udev rules) from device-mapper are installed into /lib/udev/rules.d/ (they should be, as archiso uses pacman, but it never hurts to be absolutely sure).
I added udevadm settle right after cryptsetup luksOpen, and that solved my problem! Thank you. I also verified that dmsetup and the udev rules from device-mapper are available on the CD. Now I can report a successful install using dm-crypt under qemu. The installed system boots and runs as it should. -- Chris