How to add an empty heading to the PDF outline?

I have something set up similar to yours and it show in the outline.

try to experiment with this :

#set outline(indent: 1em)

#outline()
#show heading.where(level: 1) : set heading(numbering: (.., i) => [Exercise #i.])
#show heading.where(level: 2) : set heading(numbering: (.., i) => numbering("a.", i))

= <exercise-1-label>

== <question-1.1-label>
== <question-1.2-label>
== <question-1.3-label>

= <exercise-2-label>

== <question-2.1-label>
== <question-2.2-label>
== <question-2.3-label>

you can share the part of your template that deals with this if you want.
you should also check if there are heading(outlined: false) this will prevent them from showing.

also, the show heading rule, if you put it in a template, will likely break your outline title (of if the show rule is set before the outline is called), there is a solved question on the forum on how to fix it.