It's depends on the implementation. AFAIK, on AMD platform, MigrateMemObjects currently still uses system memory.
cl_amd_bus_addressable_memory extension is there which supports direct transfer, however I've doubt whether it would be applicable in this scenario or not. Also this extension available for FirePro boards only.
Then a HD7870 has to visit RAM before talking to R7-240.