This is not a standard supported scenario. The exportToCsv() raises a postback event to perform exporting for the grid server side. That is why the client-side changes are not reflected in the exported format. So basically the exported data is what the grid is bound to.
You are right that one possible option is to directly bind the grid server-side and transform the data there. This way the export will pick up the correct data format. For more information on exporting in the CSV format you can check this help article
All the best,
the Telerik team