How reliable is it to write eMMC before soldering it?
For the prototype, you could always use a socket, so you can evaluate different manufacturers, types, sizes, etc. You can program the chips by using a SD-eMMC adapter which contains also a socket. I got one of those from Kingston for free once when I ordered some eMMC samples.

For a small pet project though I wouldn't bother pre-programming. Just bring up the bootloader and program it from there. That's what I have done successfully in a lot of projects, sometimes by first network-booting Linux and writing it from there. But that also depends a bit on CPU and interfaces of your system.

Concerning In-circuit-programming, I never tried this for eMMC.

Concerning UART and JTAG: You can always load the image to program into RAM via JTAG or download it over UART if supported by the bootloader. But this is rather slow...