It is updating datastore['RHOST'], but restoring it later once the check command has finished. Obviously the datastore['RHOST'] must be updated in order to make the modules check code work as expected without further modifications. 

I can't think a method of doing that, without modifying the current behaviour, and not modifying the datastore from the dispatcher. So, if anyone complains / proposes a different method of doing it I'll consider agreement with the current code.