This is working as designed and there are no available workarounds.
A Feature Request has been submitted in order to allow for a cleanup period to start on the first day.
Reports to keep is not enforced prior to reaching the Days to keep of minimum value "1". This causes reports to accumulate past the set Reports to keep value in the first day after the publish task has been set/run. This is working per design as setting Days to Keep equal to "0" is currently not allowed.
In addition, there is a two-way dependency for the two settings above. If 24 hours have passed since the report's task and the number set for "Reports to keep" has not been reached, the cleanup cycle will not start. Only when both settings have been triggered the regular cleanup cycle will start.