Basically any Linux SBC with an USB 3.0 interface can be used with SATA, using an USB-SATA bridge; for example, based on the JM20329 like in the Olimex
USB-SATA module. However, very few SBCs can actually load their bootloader from the SATA media!
Booting off a microSD card is a bit iffy/risky. You can get away with it with a good quality card (but good luck discovering which one is good nowadays!), and make it pretty robust by mounting the card read-only, but it is not as reliable as when having the bootloader (U-Boot or similar) in dedicated boot flash (NAND, SPI, eMMC), and the operating system, including the Linux boot stuff, on an SATA drive. (The reason is that the boot flash is then basically never written to, only read. All firmware and software updates occur on the SATA drive. Only if the U-Boot bootloader needs updates, and that is extremely rare, does one update the boot flash. And then, it is done very, very carefully.)
I have an Odroid HC1 (which is very much an Odroid XU4 with a built-in USB-SATA bridge), but I was stupid and never got the eMMC for it, so I do have to boot it off an SD card. I am reluctant to rely on that for use when I cannot physically access the device, because of the risk of the boot SD card failing.
On the Odroid HC4, the JMB582 SATA chip is connected to the PCIe interface of the Amlogic S905X3 chip, but the board also has dedicated boot flash (16 MiB/128 Mbits SPI-connected Flash, for large/capable enough U-Boot to then boot a Linux installation off e.g. SATA). Otherwise the HC4 is just an Odroid C4 variant.
It is this presence of boot Flash, say 8 MiB (64 Mbits) or more, and U-Boot support for the hardware, that makes a Linux SBC truly useful when combined with SATA SSD drives.