everyone has given great advice, but here's something to ponder.
If you were fresh out of college, I would have recommended that you get the MS in CS, work at Google or Microsoft in a PRODUCT MANAGER capacity, learning how the BUSINESS works, and then apply to an MBA in 2-3 years. But with 3.5 years of experience, if you got your MS, you would be 27, another 2-3 years of experience, you would be 30. While that's still an ok age (I'm 30), you might face some problems with being a bit old for some schools.
With that said, I would suggest two things:
1. Hunker down, DECIDE if you really want an MBA, and apply for an MBA program using your 3.5 years of experience. Focus on the essays and telling your own unique story, as you are in a very popular demographic.
2. If you're worried about your chances or your visa (I'm not too clear on those things), maybe get an MS in CS, take some classes in management, make sure you work for a top company like Google or Microsoft, and do a product manager or product marketing position that both companies offer. I have a friend who got a CS PhD from STanford, but took all his electives in the engineering management area and now is working as a product manager at Google, doing very "business-y" stuff.
#2 will take longer, but it'll give you very SOLID business/leadership background, while showing that you did think about pursuing a technical career, but realized that you liked business more while doing the PM job. Then you can talk about every detailed aspect of the PM job at Google or Microsoft that made you understand you like business more than CS. That should differentiate you a bit from the other IITs.
Hope that helps!