As a way to find out which batch it is, you can list the files in the /boot/ directory by running the following command in the terminal:
ls -l /boot/
For me on Librem 5 Birch that gives about 15 lines of output, two of those lines look like this:
lrwxrwxrwx 1 root root 53 May 14 04:20 dtb -> dtbs/5.12.0-1-librem5/freescale/imx8mq-librem5-r2.dtb
lrwxrwxrwx 1 root root 53 May 14 04:20 dtb-5.12.0-1-librem5 -> dtbs/5.12.0-1-librem5/freescale/imx8mq-librem5-r2.dtb
So it says “librem5-r2” there, which means Birch or Chestnut. If you see “librem5-r3” then that means Dogwood, and “librem5-r4” means Evergreen. (See https://developer.puri.sm/Librem5/Development_Environment/Phone/Troubleshooting/Reflashing_the_Phone.html)
I think checking it in this way should work provided that the software installed on it is for the correct batch. Probably it could be misleading in case someone reflashed it specifying the wrong batch, but if it was never reflashed, or if whoever reflashed it did so specifying the correct batch, then I think this should work. If it says “librem5-r2” then you will still not know if it is Birch or Chestnut.
Edit: found a nicer way: look for “Machine model” in the output from sudo journalctl:
purism@pureos:~$ sudo journalctl -b | grep "Machine model"
May 15 05:26:46 pureos kernel: Machine model: Purism Librem 5r2