A couple of minor suggestions for the extremely useful serial monitor:
1. The time stamp to be 24 hour clock
The time stamp already has the leading zero for hours but it's 12 hour clock, so 07:30:27:123 could be early morning or evening time. When doing long term testing this is confusing! While in that bit of code, why not add the date as well: 2022-07-30 07:30:27 (not sure we need the milliseconds to be honest!). I suppose these could be options but you've probably got more options than you want already.
2. Button to clear the received data window
Yes I know I can set to clear on send or clear on open but that's fiddly when all I wanted to do was clear the screen on demand, say after an unexpectedly large splurge of data

.
And a comment:
If I click in the receive data window that turns off auto-scroll, which is a good thing when stuff is scrolling past. But it stays off when I click elsewhere, e.g. the send button. I routinely send commands to the Arduino which then sends back a response. I get all concerned when I see nothing, then I realise auto-scroll has been turned off

. Not a big deal but I wonder if auto-reconnect could revert to 'on' in these situations?
Thanks
John