That's correct, getting an OTA update to work requires being on completely stock. Stock ROM, recovery, kernel, bootloader, and unrooted.
The Odin method is definitely easiest unless there's a compelling reason to upgrade via OTA vs. flashing from Odin (which obviously wipes the phone before the flash). I suppose it's rather inconvenient to blow away apps and data for most users - in my case, since I use a custom ROM, I don't care about apps and data on the stock ROM.