Logrotate running at wrong hour/time

You seem to have overlooked /etc/anacrontab, where anacron finds when to evaluate /etc/cron.daily (and others).

Also, one of the many reasons I stay away from systemd. Check the first lines of /etc/cron.daily/logrotate:

# less -X  /etc/cron.daily/logrotate                        
#!/bin/sh

# skip in favour of systemd timer
if [ -d /run/systemd/system ]; then
    exit 0
fi