You're right about this. Indian work culture tends toward rigid hierarchical structures, and expects employees to be much more deferent to authority than you would find in a typical Silicon Valley startup. However, even after bringing our startup culture out there (unlimited PTO, stock options, choose your own hours, don't call me "sir"), I still find this test-taking mentality to be what dominates an engineer's decision making.
Because of this, I know to be extremely specific on exact deliverables and tickets. The "rockstar developer" who can think deeply about the end user's needs is an extremely rare thing to find out there. The dominant mentality among developers is to expect a detailed specification that can be treated as the exact boundary of the problem.
To give a concrete example - I recently got quite frustrated when a simple CRUD feature shipped without a delete button, since the specification failed to explicitly mention where the button should go. Out of 30 developers and a full QA team, not one person thought critically about the specification or tried using the app from a user's perspective.