That may or may not work, but as Richard pointed out, it relies on some undocumented behavoir and thus may likely break with future versions of FreeRTOS.
Why not use this mechanism here
so your sendchar routine uses the mutex only after the scheduler has started?
Also note that this code assumes that the USART is fully functional before the scheduler has started. That is normally not the case, in particular is it is interrupt driven.