As far as I can tell, the “Last Modified Date” of content items is set to now whenever anything happens to it, including being checked in, even if it wasn’t actually modified in any way whilst checked out. I think there should be a config file somewhere to allow sysadmins/developers to determine what events trigger the last modified date to be set.
Unfortunately there are no hooks for developers to check whether the content is modfied or not before setting the last modified date. The field is also updated during the workflow transition.