The same issue has been bothering for some time now.
The dynfilter clearly does not support negations. However, the documentation appears to imply that it should be possible by using a URL with a certain parameter:
Aggregations can be “live” filtered by either adding the dynfilters option or passing the right URL parameters.
The following example adds filter input fields for all selected columns.
---- struct table ----
schema : projects A
cols : %pageid%, product, budget, team
dynfilters : 1
----
Filters created through this method always use the *~ comparator, eg. look for the search term anywhere in the column's data.
Dynamic filters can also be added through the flt parameter. The parameter is an array type, with the column name and comparator combined in the key and the comparison value in the value part.
Example: ?flt[projects.budget>]=10000
(emphases are mine)
Unfortunately, I completely fail to see which URL needs the additional parameter, and where and how I invoke that URL.