1. never criticize your boss, your company or their practices, this is number one way to get fired. yes even if they are completely wrong. your sole job in your job is to make your boss look good. I know it sounds unpopular but this is the way people get promoted vs fired, kind of obvious, but many people still think that if "They do the right thing" that they are clear. This is not something HR will tell you and is against all of our beliefs, but it's the case. If what your boss did is illegal, leave an anonymous tip to the police with evidence making it hard to link it to you but keep private proof that you sent the tip so your are not abiding a crime if it later goes to court.
2. your job quality is derived by 2 factors - a) whether you do something you love, b) the quality of of your direct manager. In your case your boss is an asshole, and you should leave the company regardless.
3. I'm really worried to hear things like "if I get fired, I'll never work in this town again". Where do you live? How powerful is your boss? As a hiring manager, I never got an email list with a subject "people who should never work in this town again".
4. Reporting your boss to HR is a huge risk, it has very low changes of succeeding, but if HR really likes you and really dislike your boss, and you are really a valuable asset to the company more than your boss, than there is a small chance that you'll "win" and get him fired. 9/10, it's going to be you who will be shown the door, but YMMV.
I say - go look for another job, find a manager that will not be a jerk, in a company that promotes openness and good culture. I can't imagine that a data scientist, one of the most sought after and trending jobs in the US will have hard time finding a better job. Am I being delusional?