You're correct; at least in the case of RAID 1 mdadm, the md device and the underlying partitions all share the exact same UUID. When I use bcache on a raid array, I don't cache the underlying partitions, I cache the raid device itself. That lets the raid code handle a missing component partition, raid resync, and any other raid issues internally.
If you copy a filesystem with dd or raid split as you mention, you still have to tell bcache both what UUID and what block device to cache, letting you specify the original partition or the new copy, whichever you want cached. So bcache shouldn't introduce new problems; a non-bcache linux system will have problems already if you have 2 different filesystems with the same UUID as others have mentioned.