Thread local not registed as GC root when `=destroy` exists (refc)
### Nim Version

2.0.14, devel

### Description

```
import std/tables

type QMetaMethod* {.inheritable.} = object
  h*: pointer
  owned*: bool

proc `=destroy`(self: var QMetaMethod) =
  discard

var classProps {.threadvar.}: Table[string, QMetaMethod]

echo classProps.len
```

When the above is compiled with `--mm:refc`, the call to `nimRegisterThreadLocalMarker` is missing - when removing `=destroy`, it appears again.

What effectively happens is that anything in `classProps` gets collected by refc and the application breaks or behaves wrong as the strings get overwritten with junk, depending on where and how the gc runs

### Current Output

```text

```

### Expected Output

```text

```

### Known Workarounds

_No response_

### Additional Information

_No response_