I might be a little biased but I wouldn't really choose Python as your first language. I did and I can't say I regret it but I would have rather strated with Go, the language I currently use. Go will allow you to learn more concepts whilst having a syntax that isn't so different from Python. Go is especially useful for building projects because not only is it reasonably easy to use, it is vary fast and it has a lot of support and libraries. Python obviously even more support but it is very slow and quite limiting, also the thing that it's best at is AI and data science, which fingers crossed 🤞 will be taken over by Mojo. As projects to work on I recommend working with the web building web applications.
As for Linux, the general consensus will be use Ubuntu. I personally have been converted to a Arch zealot so I recommend something like Arco, Endeavour or Garuda. If you're very daring then even go for Arch.
If you want an advantage in your computer science class have a look at the leetcode easy questions.
PS: I am only in my first year of highschool so take my comment with a grain of salt because I still have a lot to learn.
Don't worry about what your first programming language is. Every language has something to teach you. If you continue on in programming for any length of time, you will learn many languages. There will always be new ones, too.
It helps to learn languages that come from different paradigms or approaches to programming. This gives you a better sense of what a language can be; what it can do for you. There are languages with a lot to teach, and they're often the ones popularly considered "difficult".
Learn Haskell. You might never use it professionally, but it will greatly improve your understanding of what programming is. And no, you don't need to be a mathematician to use it. (Recommended text: Graham Hutton's Programming in Haskell, second edition.)
Learn SQL. You will use it professionally, sooner or later, and you'll be better off actually understanding your database than trusting libraries designed to hide your database from you.
Oh sure, but so do the second and third and nth. When I write in Go today, I'm much more influenced by Python which I learned in the early 2000s than by BASIC which I learned in the 1980s, or even Scheme which I learned in the 1990s.