I exactly mistook you, when I erroneously concieved that one of your entry in opt (the entry home) was getting changed/deleted during reboot. I will correct myself from this wrong view in my next consideration.
In my assertion that root's files cannot change ownership, didn't I added "without root itself doing that" ? That is clear as daylight. In this there was no denial that startup scripts run as root, instead I was confirming what you yourself suspected, that some startup script is in interference. For the same reason I queried if you were not booting to a root console, which is possible through setting up the relevant boot parameter .
Anyhow, I saw that your original post was unanswered for some time, and so I suggested. You have come out with a possible interpretaion yourself, i.e. giving a lookup for SetupHome () function in tc-functions. I will dig into it after you. It is worth scrutiny. But I also suggested that you try through a "pristine state of Tinycore".
I always boot to that pristine state of Tinycore, through another boot entry in my bootloader (legacy grub), where I don't have any opt= and home= kernel parameters, keeping tce=same_for_all_boot_entries, and besides having mydata=some_another_filename_than_the_one_where_this_backup_is_done_when_I_boot_otherwway . This way I am always able to test, if it is "Pristine state of Tinycore" which is the culprit, or something else. It is also one method of trapping/finding the source(s) of error, when one has Tinycore to work with. "Pristine state", that is a boon with tinycore.
Anyhow Rich, I will give a look to what you yourself have come out with, besides seeking for other plausibilities.