Shield Settings Based on Root Domain

I found a solution to this, as I was getting frustrated with the same issue, and the adblock filters were not working for me.
Paths I specify are for windows.
Go to “C:\Users<user>\AppData\Local\BraveSoftware\Brave-Browser\USer Data\Default” and open the Preferences file.
It is a massive JSON file in a single line. if you search for “braveShields” there should be a single instance of it. That section defines the shields state for each site you have changed it on. If formatted for readability it looks like this.

"braveShields":
 {
    "192.168.0.3,*":
    {
        "expiration": "0",
        "last_modified": "13309958750384508",
        "model": 0,
        "setting": 2
    },
    "sub1.example.com,*":
    {
        "last_modified": "13311386556522116",
        "setting": 2
    },
    "example.com,*":
    {
        "last_modified": "13311384676189891",
        "setting": 2
    }
},

Setting 2 means disabled.

Close brave before making this edit so it does not overwrite the file on you.

If you add an entry, or replace a subdomain entry with the following instead.

"[*.]example.com,*":
{
    "last_modified": "13311386556522116",
    "setting": 2
},

Start Brave up again.
This seems to match correctly and disable shields for all sub-domains at least for me.

Any sub-domains still defined in the list will overwrite the wildcard.
In my testing, the following code:

"braveShields":
 {
    "192.168.0.3,*":
    {
        "expiration": "0",
        "last_modified": "13309958750384508",
        "model": 0,
        "setting": 2
    },
    "[*.]example.com,*":
    {
        "last_modified": "13311386556522116",
        "setting": 2
    },
    "sub1.example.com,*":
    {
        "last_modified": "13311386556522116",
        "setting": 1
    },
    "example.com,*":
    {
        "last_modified": "13311384676189891",
        "setting": 2
    }
},

Had shields up for sub1.example.com, and shields down for all other sub-domains.
Order did not appear to matter.

Hope this helps.