After some investigation I think it is a possible race with upstart jobs.
If I boot in rescue mode instead of normal boot after the oem-config-prepare step, suddenly X starts, and the user configuration step begin.
If I boot with --verbose and without 'quiet splash' on the kernel command line, the boot is much slower and ubiquity starts as expected. This suggests a race of some kind.
A guess is that the upstart job for oem-config starts too early.
Removing the following line from the oem-config upstart job:
or stopping rc RUNLEVEL=)
to force the oem-config job to start when gdm starts helps to workaround the issue. This is just a suggestion and I don't know if its the right fix.