This is my experience at Chiangmai immigration, to transfer the stamps (I am on a Non Immigrant O extension -retirement- since 2018) from my old passport to my new passport, renewed in Europe prior to coming back to Thailand.
I entered Thailand last June, with my new passport, showed my reentry permit from my old passport (with cut corners) to the immigration officer, and my new passport was stamped with permission of stay until the expiry of my last extension (somewhere in November 2022).
2 months later, today (!), I decided to take the trip to the Chiangmai immigration office by the airport. No remark at all that I was late...
I arrived at immigration at 12:50pm, during lunch break. I filled in the "transfer stamps" document (Chiang Mai version, don't download it from online, it would be useless) and went to the copy shop (they are also closed between 12pm and 1pm (I had to wait 5 minutes outside their doors) to copy the following:
Old passport:
-Photo page;
-All pages containing "Thai stamps" since my last TR visa from 2018, that was converted to a Non Immigrant O visa (90 days) before being extended yearly.
-I didn't copy every page from my old passport, even the ones with old TR visas or visa exemption stamps, prior to 2018...
New passport:
-Photo page;
-Arrival stamp page with my TM6 card.
TM30
As I had received my new passport in my country of residence, I didn't receive an embassy letter of course, and I wasn't asked for one either.
And as I came back to Thailand 2 months ago, I didn't have to produce any 90 days report.
I signed all copies.
I went to the info counter inside the immigration building at 13:05pm. They checked my copies and I was directed to counter number 3. New quick check of all the documents/passports, and I received a queue number. About 5 minutes later, my number was called at counter number 3, I gave everything to the immigration officer and I sat down until the transfer was ready.
I was out at 2:15pm.
The transfer was completely free of charge. Damage: 18 baht for the copies.
I think that I could have skipped the info desk check, by going straight to counter number 3, but there was no queue at all, so no time lost.