@ipurpl3x I believe i managed to replicate your issue. I didn't get results too by using orderByRaw() method.
I started playing with it by deleting parts of it. I found that the subtraction part (comment_count - discussion_count) was the issue.
I tried to run the query produced by the above code (using toSql () instead of get()) directly in mysql cli and i got the error "BIGINT UNSIGNED value is out of range...".
So i believe your problem is that if your database columns are registered as unsigned then an arithmetic underflow error is produced by mysql during that subtraction that is never returned.