Usually, when a JavaScript developer asks for a language to learn on and improve their skill, I suggest a more low-level language, like Rust or C. They help you see the world from a different perspective: code running on hardware directly is very different from code running inside a VM. As far as I can see, you did not list a low-level language, so I would like to encourage you to at least consider playing around with one, let's for example say Rust.
being able to reach a wide range of projects/companies. This point is important as I prefer to be efficient in fewer languages, but having a deep understanding of them.
unfortunately, Rust is very young, so there are only a few companies who employ Rust developers.
playing well with Javascript (or completing it)
Definitely does, because you can use Rust to write WASM or a server (playing well with JS) and Rust can do all the things JS cannot do (completing it).
not too obscure/difficult (as a father, I would rather use my nights to sleep)
Rust has a rather steep learning curve, but the reason for that is that it forces you to learn a lot of important principles. If you do not adhere to good and safe standards, your program will not compile. That said, using a framework, most of the difficult stuff is gone, and it is fairly easy to use.
having a nice future and community
Rust has a bright future. Many low-level developers learn Rust. It is used to create awesome new software. And the community is very nice, most of the time. Just don't try to discuss the math behind Rust :D
and fun to use!
Definitely. I can use it without the fear of doing some bad mistakes. Usually, you'd learn as you go, and then end up with throwing away projects, because you cannot find the damn memory leak or race condition, which makes your application unusable. With Rust, you don't have that problem, and you just write, and if it compiles, it's formally correct (though you have to make sure your business logic works).
All in all, though, Rust might not be the language you are looking for here. What you write sounds like you want to change your job description. If I understand you right, you want to get away from the front-end and at least add a bit of back-end or even something completely different. For that, you might want to think about your preferences. For example, most companies still want Java or C# for application development. Kotlin would be nice, but its usage is not that spread, yet. Python will most likely help you find a job in research. As far as I can see, it is mostly used for that, or Linux management tasks. Golang and especially Elexir might be hard to land you a job.
So, imho, learning Java is the safest way to go, if you want a language which meets all of your requirements and lets you choose a company from a wide selection.
However, if you would actually try to go more into the direction of native mobile development, the world looks different! While Java is still an important language there, Kotlin is on the rise - at least for Android development. Other than that, you might add Swift to the list for iOS development and C# or F# for Windows app development. You will most likely start to miss your single code base for all platforms, though ;)
There are many other areas of expertise, which each require different coding skills and languages. Without more information of what exactly you are looking for, it is quite difficult to make a suggestion. That's why I would like to advice you to take a look at all the languages above. Write a small application in each of them and compare them. What are the differences, what do you like about them, what do you dislike about them? A small application might include writing a little game (Pong, Snake, whatever) or some app, which tracks your GPS coordinates or a server with a REST API, which tells you the current CPU load. Whatever comes to mind is OK. Then go to a company of your choice and see what jobs they have to offer. Apply there and use the language they require. They will teach you whatever you need, if you are motivated and they think that you can do it! I think that the only thing which is more important than the programming language and frameworks you use is the company and the people you have to work with every day.