It turns out to be related to the early Pi 3B+ boards. When I use the same SD card on the late version, the rainbow shows up and the framebuffer is available earlier in the boot. It still takes over 10 seconds to completely boot. Since the rainbow shows up almost immediately after one turns on the device, it gives the operator some feedback that something is happening. My custom splash screens show up more quickly as well.