is pre_get_comments not working?

I don’t see any reason why pre_get_comments would not be working, it’s still in core, however…

you’ve got a few problems in your code –

do_action_ref_array is what core calls to trigger the action, you add your own functions to the action queue via add_action.

orderby is the field name you want to order by, order controls how it’s ordered, and ASC and DESC are the only valid values for order.

WP_Comment_Query returns an array of comments, you could use PHP’s shuffle to randomize the order.

Also note that you have curly typographer quotes in your code above around orderby and rand, which will throw a PHP fatal error. You do have debugging enabled, yes?