Вам необходимо отключить экранирование текста метки, поскольку он содержит html теги. Это также обсуждалось в этом вопросе Cakephp3: Render / Evaluate HTML внутри метки formhelper .
Вместо простого добавления значения, вы должны использовать следующий код для label
:
'label' => [
'text' => $q,
'escape' => false,
],
В сумме это означает:
$q = '12 X 8<sup>2</sup> =';
echo $this->Form->input('a1', [
'value' => $assessment['a1'],
'label' => [
'text' => $q,
'escape' => false,
],
]);