"The reason Python is "popular" is because it's the first language you learn on contemporary CS courses. A few years ago it was Java for the same reason. JavaScript is also very popular, but it just seems like Stockholm Syndrome for programmers where they've just spent too long unaware of the alternatives and their relative strengths or weaknesses."
No, I think you've got that backwards. You learn about it because it's popular and good, and you're likely to be using it professionally. I didn't learn about it in school. I'm 30 years out of education and Python has become my favourite language for most work. One of the reasons it has taken off is that it seems to have been very well suited for data science, and as a result the data science support has blossomed. What you say about scientists is true. I work with a lot of data scientists and they are not the best coders. But that's nothing against the language. You think this is bad? Try PHP.
On testing, you're off the mark there. Pytest is the best testing framework I've ever seen. No contest. And if you take a test driven approach, then you're writing tests at the same time or before you write your code. I'm a senior software engineer with over 25 years experience on all sorts of languages and platforms. I love Python and FastAPI for anything on the server and I love React with modern JavaScript for front end work. I don't know what you're talking about with testing the language rather than the logic. That has not been my experience, but again, if you approach unit testing and integration testing properly then that's not an issue. Every language has features that you're probably better off not exploiting. It comes down to experience.
As for OOP, it does have its issues and it's helpful to recognise them. Functional programming has a lot of inherent advantages. Interestingly, Python alleviates one of the problems with OOP by supporting multiple inheritance.