It will not diff. The upload config uploads all the config to the device. The statement modified might be inside of a more specific device setting. For example, interfaces, if you change the description for an interface, the command only makes sense in the context of interface configuration on the device.
If you only want to change a section of the config, you should use upload tasks.
I think you should exclude from saving lines stat start with version. The error that you show tells me that 'version' is not a supported command on the device that you're trying to upload the configuration.