Invalid dynamic type after slicing sink assignment
### Description

```nim
type A {.inheritable.} = object
type B = object of A

type C = object
  a: A

var c: C

proc f(v: sink A) =
  var a: A = move(v)
  echo a of B
  c.a = move(a)
  echo c.a of B

f(B())
```


### Nim Version

2.2.0

### Current Output

```text
true
true
```

### Expected Output

```text
false
false
```

### Known Workarounds

_No response_

### Additional Information

_No response_