It looks to me like part of the reason this is more apparent in Focal is that /etc/logrotate.d/wtmp now contains the option "minsize 1M", whereas Bionic did not include a minsize setting (in /etc/logrotate.conf, where wtmp was handled before). All the same issues are present in Bionic, they just aren't as obvious since the wtmp is actually rotated monthly by default.
I think all the issues raised by Ian could be solved by moving the script that creates wtmp.report out of cron.monthly, and instead call the script in a postrotate option set in /etc/logrotate.d/wtmp
It looks to me like part of the reason this is more apparent in Focal is that /etc/logrotate. d/wtmp now contains the option "minsize 1M", whereas Bionic did not include a minsize setting (in /etc/logrotate. conf, where wtmp was handled before). All the same issues are present in Bionic, they just aren't as obvious since the wtmp is actually rotated monthly by default.
I think all the issues raised by Ian could be solved by moving the script that creates wtmp.report out of cron.monthly, and instead call the script in a postrotate option set in /etc/logrotate. d/wtmp