Unfortunately, variables are not useable as filters, as you have seen. Variables are useable only in rules. Today they are mostly useful in correlation rules, but are also incorporated into IPS rules and elsewhere.
In your case, you could try a couple of different options:
1) A dynamic watchlist. You can set up a dynamic watchlist of users that match your regular expression. Then use the watchlist + the NOT operator as a filter for your dashboard.
2) Use a "contains" filter. In 9.3.2 we introduced the ability to filter based on regex, through use of the phrase "contains()". In the Source User filter field, enter "contains(regex)", and select the "!" operator, and you should get similar results.
Also available in 9.3.2 is the ability to use a Dynamic Watchlist with a Source of LDAP (to be able to point at your AD Domain hopefully), this will speed up the time and accuracy of your Regex which looks for Computer Objects as Source Users.
Currently, if you create a Dynamic Watchlist using Regex for Source User to find anything ending in $, it searches the entire SIEM Database.
We are still on 9.3.1, but planning to upgrade either later this month or sometime next month.