Hi there,
well, simply said, go with the language you like the most.
For me personally, I like C#, for tons of benefits I have written many times on this forum, such as ability to make proper encapsulation (not all languages have that), nice properties syntax, Solid naming conventions, Linq, Subprocessing etc.
But above all of these, I like the syntax, and that's often more important than thousand features. Both Java and C# have Tasks for example, but the syntax in Java case is so horrible, that I can't even name how horrible it is.
Someone may like it, but I don't. Therefore C# is my number one choice.
On the other side, Javascript and PHP, I don't like any of them. I use JavaScript for client side stuff if necessary, but C# can do this as well with its Blazor project, so I'll perhaps limit that too.
Both of them are quite developed languages, with millions of libraries and projects, but what's that good for, when I don't like the syntax?
Coding is not about using some exotic tools, which would require a very specific setup, but more about applying already existing things so precisely, that the result will be functional, nice and reliable in the same time. Thus select your toolbox in a way, that tools themselves won't be a drag for you.
Or, in other words, it's similar to selecting a mattress for your bed. While trying out various models in a shop, it's good to keep in mind, that what you're lying on at the moment will be your sleeping pad for next 10 years.
Btw, isn't asp.net core compatible with linux natively? I didn't really try, but it's written in .net core, which is crossplatform and asp.net core itself thus is as well. But I don't know what is the situation on Linux, so it might be worth checking.
Best regards
Rastislav