FlatMovement costs means just that, the unit will have a flat movement rate, so if you set it on and the unit has one movement point it will ONLY move 1 regardless of if its on a road, or a hill, or regular terrain. (Basically it ignores terrain cost and gets no bonus from routes).
I do not think it's possible with just XML to give a specific unit extra movement on roads. With python you could probably use the onunitmoved and manually reward partial movement points, but this will probably slow down the game a bunch and be more trouble than its worth. Your only option might be SDK.