I have been trying to track down an answer to this question and I stumbled upon this website. Apologies if this answer is already out there. I have seen the FAR regulation, 14 CFR 91.121 - Altimeter settings. Is it possible for an ATC controller in the US to give you "Descend and maintain 18,000' (Not FL180)" and thus you would need to change your altimeter setting to local upon reaching?
I also fly ICAO quite often and the same question would apply to the transition level. Could a controller give you, as example, FL150 is transition lvl and 13,000 is transition altitude, "descend and maintain 15,000'." Would you set the local altimeter once level at 15 or wait until cleared to descend below? The source I was looking for ICAO procedures was the ICAO 8168, PANS-OPS, Volume I.
My understanding is that you do not change your altimeter setting until you are cleared below the transition level. I hope my questions aren't too confusing. I appreciate any clarification.