Luke,
As I understand it when a link is inside a define it becomes a macro and thus is not considered a link, the macro is "interpreted" then rendered and the result could be anything. I think this is why, perhaps by design, such links do not appear. Macros are also often defined elsewhere and tagged $:/tags/Macro, and perhaps you do not want those tiddlers listed.
However if you tag a tiddler containing the following with
$:/tags/ViewTemplate
<$list filter="[all[current]list[text]]">
</$list>
You will see the reference is detected, only if the macro is actually used.
Of course we can also write a solution that searches all tiddlers and and finds in the string is in the text (including in a macro definition)
<$list filter="[all[tiddlers]contains:text[HelloThere]]">
</$list>
The advantage being it finds items with or without the Square braces, eg camel case
But may bring up other hits?
However if you use a carefully crafted a search you can always find all such links in or outside the define statements, after all all you want is to list tiddlers containing "[[searchvalue]]"
There are tricks available to concatenate a search string with characters that are illegal in filters or wikitext.
Regards
Tony