crypto.randomBytes is definitely in Workers' node compat layer. Is it possible you didn't enabled the node_compat flag?
https://developers.cloudflare.com/workers/runtime-apis/nodej...
I guess maybe it's time we turned this on by default...
Argon2id was my choice eventually for OWASP reasons
On-by-default nodejs_compat would be welcome - Thanks!