By default rsyslog's startup messages should end up in
/var/log/messages. They look like this:
May 27 08:24:55 raspberrypi rsyslogd: [origin software="rsyslogd" swVersion="8.1901.0" x-pid="319" x-info="https://www.rsyslog.com"] start
That's not from tomorrow ;) but by coincidence 364 days ago.
The unfortunate thing about the default config (and I am guessing a bit because I always start out with it modified) is that kernel messages go into a separate file (I like to make sure there is at least one log file that everything dumps into, which makes tracing issues etc. easier).
Rsyslog also has stop messages (eg. the "exiting on signal 15") but these are not as reliable. Also, it is sometimes (re-)started during normal operation, so not every start is during boot. However, finding that line should allow you to tell whether what precedes it is boot, and right before that stuff (it is usually pretty extensive, but sans the kernel messages will be less) will be whatever was last recorded before the system shut down or died.
Regarding rollover: Log files are by default rolled over occasionally, at points in time that are arbitrary to their content -- ie., it is not simply done at shutdown or boot, meaning there is usually continuity between them, and boot events could be anywhere in them. The rolled over files are gzipped and numbered, so eg.
messages.1.gz is the most recent after
This is by default where all the kernel messages go, and a good thing about them is that they include a nanosecond (seconds w/ 6 decimal places) timestamp starting at 0.000000, which is when the kernel was first loaded. Since rsyslog adds normal date-time stamps, you should be able to correspond those. Although the first bunch of messages will have a bogus time due to the Pi's lack of realtime clock, you can still correspond them as this bogus timeframe will be the same for everything.
Sometimes you can find start from kernel messages just by searching for the
0.000000 string but this is not consistent; they don't always go back that far.