Тут: Нет, текущий приоритет (приоритет обрабатываемого в данный момент прерывания) снизить нельзя.
Не согласен. Вы работали с BASEPRI? По сути, это регистр, указывающий текущий приоритет исполнения кода. И, обычно, перед изменением его значения, проверяют, не является ли новое значение менее низким приоритетом, чтобы не понизить уровень выполнения. А понизить можно.
Кстати, у RISC-V от WCH есть подобный регистр: https://caxapa.ru/1512118.html
Если не используется аппаратное сохранение стека, как у старших QingKe ядер WCH, то выполнение низкоприоритетного кода в продолжение кода прерывания, думаю возможно. Разница будет в том, что исполнение будет идти в machine mode. То же самый обработчик прерывания, не выходя из которого исполняется низкоприоритетный код после понижения приоритета, может сработать ещё раз и сохранят контекст в стеке снова даже во время продолжения выполнения прошлого обработчика. Главное, защититься от продолжения низкоприоритетной части, если предыдущая ещё не успела закончиться.