Let's dive into JS generating seed phrase.
First, I could myself generate a seed phrase without anything. I just pick 24 words from the list given in the BIP 39 protocol.
So if Ian colman give me a list of 24 words randomly in the same list what can be wrong? It is just picking word at random.
The risk maybe is the code being change to give me a list of 24 word already known by somebody. But this is hacking not JS related.
To be exact, you would need to guess 23 words and then calculate the 24th, as it is the checksum of the 23 previous words.
Nevertheless, please don't.
On this planet, NOTHING is totally random.
In fact, scientists claim that the only thing that could be random is the age at which the center of atoms explode. (that's pure physics and it is not yet fully proven).
Our minds is absolutely not capable of defining randomness. And of course we are unable to chose 23 words from a list of 2048 in a secure random way.
If you don't want to accept that you can use a wallet such as electrum to generate the words, then you could flip a coin 256 times to generate your entropy. You can refer to this manual
https://youtu.be/LxTkLwpV1PoHowever, if you flip a coin 256 times, there will definitely be similarities in the manner that you flip it. So again, not totally random.