Devtmpfs not working?

Linux is getting more and more unpredictable. It's turning into another Windows.

Here is a special setup to show the errors more clearly. This is in squashfs.

root@GRAPHRT:/# cat /lib/preinit/31_btrfs_scan_preinit
#!/bin/sh

preinit_btrfs_scan() {
        if grep -q btrfs /proc/filesystems; then
                echo "preinit: Scanning for btrfs (default)..." > /dev/kmsg
                btrfs device scan > /dev/kmsg
                echo "preinit: Scanning for btrfs (all)..." > /dev/kmsg
                btrfs device scan -d > /dev/kmsg
                echo "preinit: Scanning for btrfs (sda)..." > /dev/kmsg
                btrfs device scan /dev/sda > /dev/kmsg
                echo "preinit: Scanning for btrfs (sdb)..." > /dev/kmsg
                btrfs device scan /dev/sdb > /dev/kmsg
                echo "preinit: Scanning for btrfs (sdc)..." > /dev/kmsg
                btrfs device scan /dev/sdc > /dev/kmsg
        fi
}

boot_hook_add preinit_main preinit_btrfs_scan

And now, the bootlog (interesting parts):
Note the 10s pause I set during preinit, to allow the kernel to scan all USB devices.

[    3.288504] devtmpfs: mounted
[    3.371642] Run /sbin/init as init process
...
[    3.829850] sd 1:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[    4.729389] sd 2:0:0:0: [sdb] 15728640 512-byte logical blocks: (8.05 GB/7.50 GiB)
[    4.763688] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[    4.829468] sd 3:0:0:0: [sdc] 15728640 512-byte logical blocks: (8.05 GB/7.50 GiB)
[    4.863968] sd 3:0:0:0: [sdc] Attached SCSI removable disk
[    6.464461] sd 1:0:0:0: [sda] Attached SCSI disk
[    6.481246] init: - preinit -
...
[   17.715433] preinit: Scanning for btrfs (default)...
[   18.127570] Scanning for Btrfs filesystems
[   18.489293] preinit: Scanning for btrfs (all)...
[   18.500652] Scanning for Btrfs filesystems
[   18.812415] preinit: Scanning for btrfs (sda)...
ERROR: not a block device: /dev/sda
[   18.821518] preinit: Scanning for btrfs (sdb)...
ERROR: not a block device: /dev/sdb
[   18.830549] preinit: Scanning for btrfs (sdc)...
ERROR: not a block device: /dev/sdc
...
[   19.717100] UBIFS (ubi0:1): Mounting in unauthenticated mode
[   19.892728] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   19.940270] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab
[   19.954023] BTRFS: device label GRAPHRT devid 2 transid 23553 /dev/sdb scanned by block (967)
[   19.963419] BTRFS: device label GRAPHRT devid 1 transid 23553 /dev/sdc scanned by block (967)
...
[   20.057182] mount_root: switched to extroot
...
[   26.080739] BTRFS: device label RTShare devid 1 transid 127 /dev/sda scanned by block (1835)

Can anyone PLEASE explain what's happening here? I built and tested probably more than 20 firmwares trying to debug this and I still don't understand how / why the kernel doesn't create the /dev nodes in 10s idle time, then suddenly, 1s later, when block searches for FS labels, they're present and usable. :confounded: