Timers aren't reliable when you aren't on the screen they are on (multiple experiences of issues with this).
I would instead set a few variables when the audit starts:
Set(gblAuditTimeStart, Now());
Set(gblAuditTimeEnd, DateAdd(gblAuditTimeStart, 3, Minutes));
Set(TodayDateTime, DateTimeValue(Text(Today())));
Set(gblAuditTimeRemaining, gblAuditTimeEnd-Now());
Set(TimeRemainingText, Text((TodayDateTime + gblAuditTimeRemaining), "mm:ss"));
Navigate(Screen2);
Then you have a time on each screen that runs every 1 second, it updates the value of the time remaining:
Set(gblAuditTimeRemaining, gblAuditTimeEnd-Now());
Set(TimeRemainingText, Text((TodayDateTime + gblAuditTimeRemaining), "mm:ss"));
Then you can have a label on each screen letting them know how much time is remaining, and as a bonus we can disable the button when the time remaining expires ie when end time is less than Now()
I've attached a proof of concept App to show what I mean,
Cheers,