Hi,
This is how the framework is designed to work. This is mainly due to the fact that the report is rendered on the server side and not in the client. The other reason is that one can schedule an Operational Report therefore the actual time of rendering will differ from the time of scheduling the report. The execution time is the time when the job was executed and the report was rendered.
The time when preview will be same (or few seconds different) as the ordering and generation are done almost at the same time, but still this is a server process. Hence the server time.
If you want the client time to be shown on the report, then one way I can think is to send this as a parameter value or as a data value in the XML data and then show that in the report.
Hope this helps to clarify things.
Regards,