fetchGit never ignores the date field (for either pure or impure invocations of fetchGit) so I’m not sure what you are referring to.
As a concrete example, if you specify:
fetchGit { url = …; rev = …; date = "1 day before"; }
… then it will be return the last commit at least 1 day before the specified revision. Moreover, that fetchGit invocation would be pure both with or without the date field. Force pushing and/or rebasing wouldn’t change that purity in any way.