Highlight literal matches with Treesitter

With vanilla syntax highlighting, we can specify something like:

:syn match ErrorMsg /start/

if we want all occurrences of the word start to be highlighted with the ErrorMsg group. nvim-treesitter allows the key additional_vim_regex_highlighting to be passed to a parser when it is being setup, however it appears that Treesitter highlighting always overrides anything from normal syntax highlighting. For instance, if the matched highlight group with Treesitter is a light gray, I can run the above :syn match command and the color doesn’t change, but the word inherits the bold attribute from ErrorMsg. On top of this, :TSHighlightCapturesUnderCursor from nvim-treesitter/playground shows both the _Treesitter and syntax match groups correctly.

Poking around a bit (mostly reading about query syntax), it seems like I should be able to create a highlights.scm file for the appropriate :h filetype that I am dealing with, and put the file in after/queries/{language}/highlights.scm. In this file, I can then do something like:

"start" @my-start

(which is an anonymous capture?) and then use the following when setting up my nvim-treesitter.configs:

    ...,
    custom_captures = {
        ["my-start"] = "ErrorMsg",
    },
    ...

Once all of this is setup, I get errors specifying that start is not a valid node, which makes sense as all the query examples use (mostly) named nodes. It seems like matching to a node via something like (node @x (#match? @x "\\(start\\)")) would work, however this is just searching for node values that contain start, and doesn’t extract it as a special item that can be highlighted separately (as far as I can tell).

I’m not super familiar with scheme, but will continue messing around with :TSPlayground to see if I can find anything that works.

As far as I’m aware this is not currently possible, however any advice is greatly appreciated.