Not quite.... So you think its realistic that a wagon travelling from a city without a farm, arrives in a city with a farm, with fresh extra food in its cargo?
Then when it travels from the farm-city to the non-farm-city, it has nothing in its cargo.
Thats the problem, the caravans are essentially carrying food TO the food producing cities (hence the % bonus), if they carried food FROM the farms to the NON-food cities, the non-food cities would get a % bonus to slow their food consumption.
But as it is, farming cities get food from caravans, out of thin air. Its an extra % food that is being created, not a % food that is being saved by "shipping food to empty cities before it spoils". 
Imo the caravans should provide a bonus to whatever the cities connected are producing the most.
If a gold-producing city sends a caravan to a metal-producing city, the metal city should get a slight 5-10% bonus to metal production, and the gold city should get a bonus to gold production.
It makes absolutely no sense to have a food bonus between non-farm cities. It just makes the caravans worthless.
AND another thing, since you CANT trade food via diplomacy (which i think you should be able to, like civ4's tradeing resource for resource (cancellable), there is even less point for the caravans. If they however provided a small materials/metal/gold bonus, a whole new gameplay aspect could open up, via setting up trade routes EVERYWHERE (and actually getting that extra trade route tech, ive never had to bother with it), including to the other ai faction's cities, and using the resources you gain from that in diplomacy or to fund your empire.
As it is now, trade is so unrealistic. Its just there to make food...... Trade has never been about making food in any other strategy game tbh 