To clarify, the reason you see 2 diff dates is because vars are 'lazy
evaluated' and evaluated for each task.
The solutions proposed above work because set_fact gets around this by
forcing evaluation and assigning the value. The registration takes the
'backup_file' which is also a static value.