std/random produces different results on c/js[node] with int32
### Description

std/random produces different results on c/js[node] with int32.
I understand that it would not work with int64 but with int32 it should produce the same in my opinion
```nim
import std/random

randomize(123'i32)
echo rand(int32.high)

# Generates different results on c/js[node]
# C:       1187002471
# CPP:     1187002471
# js node:  822997781
```

### Nim Version

$ nim --version
Nim Compiler Version 2.0.8 [Linux: amd64]
Compiled at 2024-07-03
Copyright (c) 2006-2023 by Andreas Rumpf

git hash: 5935c3bfa9fec6505394867b23510eb5cbab3dbf
active boot switches: -d:release


### Current Output

```text
# C:       1187002471
# CPP:     1187002471
# js node:  822997781
```



### Expected Output

```text
# C:       1187002471
# CPP:     1187002471
# js node: 1187002471
```



### Possible Solution

_No response_

### Additional Information

_No response_