This may very well be due to how tcl handles strings underneath L.
Here is an initial PoC:
Running the above file produces the following output:
That is, characters with UTF-32 codepoints beyond 0xffff are out-of-range and are not displayed correctly.
It seems like this might be because tcl appears to use UTF-16 (or what it refers to as “double-byte” representation) internally.
As a result, anything high-plane is quite difficult to do in L.