I set this filter to [all[tiddlers+shadows]!is[system]], but it doesn’t work, [all[tiddlers+shadows]tag[Journal]] works, it seems to only work on tags
It should be [all[shadows+tiddlers]] except you want that your shadows to be listed after your tiddlers. … That’s just a general comment. It will not solve your problem
IMO freelinking shadows does not make much sense at all. Every tiddler which starts with a $:/xxx will be automatically linked. That’s a default setting.
[all[tiddlers]!is[system]] is every content tiddler, which should not make much difference.
What do you try to achieve?
I just want to exclude all non-system tiddlers starting with $:/
TLDR;
Backup first — Backup first — Backup first — Backup first
It’s ControlPanel → Info → Advanced → Parsing → syslink rule … that is responsible. If you disable it, those links should not be rendered anymore.
Important: You need to save and reload, to activate this setting
Every tiddler expanded from a plugin is called a shadow-tiddler. Usually the start with $:/
The filter to select them is: [all[shadows]]
User modified shadow-tiddlers become tiddlers.
The filter to select them is: [all[tiddlers]]
Only if you need them all for eg: overwritten shadow tiddlers like: plugin settings with default values
use: [all[shadows+tiddlers]] …
Every tiddler that starts with $:/ is called a system-tiddler
The filter to select them is: [all[tiddlers]is[system]] of the shortcut [is[system]]
Every tiddler that does not start with $:/
can be selected with [all[tiddlers]!is[system]] or the shortcut [!is[system]]
BUT as I wrote. By default every tiddler that starts with $:/ is rendered as a link by the default parser. So freelinks-plugin is not responsible here.
Backup first — Backup first — Backup first — Backup first
It’s ControlPanel → Info → Advanced → Parsing → syslink rule … that is responsible. If you disable it, those links should not be rendered anymore.
Important: You need to save and reload, to activate this setting
I do not know, if this setting is 100% side effect free.

