USART interrupt handler is invoked only once

I guess that your applications stucks in your configASSERT macro/function which is usually a for-ever loop with interrupts disabled. Using a debugger and halting/stopping the target should give a hint wether the program hangs there or not.
The reason could be that

seems wrong. Do you mean 3 << (8-3) with logical interrupt prio 3 and 3 prio bits ?
Btw. I’d recommend to use task notifications for ISR to post-processing task signaling as you also tried.