The short answer is “I don’t think so”.
The trouble is that you are essentially running two separate pieces of software which are more or less independent of each other: The U-Boot boot loader, and the Linux kernel. At some point U-Boot loads some files into memory (including device tree and kernel), and then branches to execute the kernel (U-Boot essentially overwrites itself…U-Boot passes on to Linux but does not run simultaneously…the kernel inherits what U-Boot sets up). If U-Boot cannot read the partition, then the kernel cannot be put there even if Linux understands the partition. I believe that what you will find is that a USB SATA drive can have boot files on it, or an SD card, but that the integrated SATA probably cannot (it is a story of how the controller is wired making it available through USB under U-Boot, and the usual PCIe wiring/drivers do not exist in U-Boot).