From the preinit_mount documentation under the Mount Root Filesystem section:
3. If mtd device rootfs_data has not already been formatted, mounts a tmpfs (ramdisk) as root filesystem, and indicates that further steps should be skipped. 4. Mounts previously formatted jffs2 partition on /overlay and indicates successful mount. 5. Makes successfully mounted /overlay (if it exists) the new root filesystem and moves previous root filesystem to /rom, and indicates to skip further steps.
This is only true if a config (sysupgrade.tgz) is NOT preserved across the update. If a config is preserved, step 3 is skipped entirely, and the jffs2 overlay is immediately mounted even if rootfs_data has not been formatted, instead of being deferred till later in the boot sequence. This is a bug, since it ends up hanging the preinit_main script while the rootfs_data partition is being cleaned and formatted for the mounting of the jffs2 overlay (this is why the intended behavior is to first mount the tmp overlay). Machines with large rootfs_data partitions can lock up and crash because of this.
This bug has been around since 2008, and its a messy one to patch. For now, the official documentation should make note of this to help developers who may see inconsistent behavior across "first boots".