Don't judge based on cost - there are perfectly capable free options in the Microsoft camp too - SQL express, VS express, etc. If you can't do without a higher tier version of VS, you probably have access to it at home through your employer's MSDN account so long as you work somewhere that does use Microsoft. MSFT gets expensive at the enterprise end of the scale, but so does everything. The costs largely IMO are unquantifiable, what's the problem in spending $10k for licensing if it saves you 1k hours of dev time over a free solution? How about a system that can run on 1 server rather than requiring 5, etc etc.
Yes, there's vendor lock in, but you can always move elsewhere later if you want. You're not going to be developing a single project for the rest of your life.
Do what you enjoy, where you enjoy it. Learn how to work in multiple languages and make sure that you're not professionally locked in, but that's different from being technologically locked in on a single project.