A desktop PC has a BIOS (or its more modern variants) which provides some of the hardware setup prior to even the boot loader running. This also provides some interface for generic hardware setup. None of this exists on most embedded systems, including Jetson. GRUB is a boot loader which requires a BIOS or variants, and like a BIOS (or variants), does not exist in the embedded world. Essentially the [embedded] boot loader does all of the work of the BIOS, and is hard coded for some hardware (like a TK1 memory controller and the surrounding PM375 board). GRUB is unable to handle this environment. Fastboot could be used, but is terribly inconvenient and inflexible. U-boot is used instead.
You will want to explore the file /boot/extlinux/extlinux.conf (I’m assuming you’ve flashed from the default L4T R19.2 which TK1 ships with to something like R21.4). U-boot sets up memory controller, clocks, voltages, so on. It then reads configurations from the extlinux.conf file, and is able to pass along firmware (the dtb) and kernel arguments. You can even select multiple kernels at boot time by this if you have a serial console. One of those arguments can change where root partition is (“root=…”). “/boot” would remain on eMMC, but the “root=” argument (this defaults to /dev/mmcblk0p1, the eMMC) would be edited to point to the SD card. Leaving the original system on eMMC and editing extlinux.conf essentially gives you a backup rescue system.