> because a valid 4 byte utf-8 char is beyond the BMP,
> that means bigger than an unsigned short.

Unless surrogate pairs are used to represent characters beyond the BMP.

In TIP #388 you can read the reason for this:
> 4 Not supported. The same as 3, but allowing the use of
> Unicode surrogate pairs to represent the range \U010000 - \U10ffff

Implementation of this is ongoing in the "tip-389-impl" Tcl branch.

Hope this helps.