My take is that it was unreasonable, but from the opposite direction. In my view - and, sadly, I think this view was more common in days of old than it is now - it's not the DM's place to shut the players down like you're describing above. Instead, I see it as the DM's job to roll with whatever the players try to have their PCs do, and have the setting and-or NPCs react accordingly.
They decide to try and rob the scroll shop? Fine. Play it out. Figure out what (if any) theft defenses the shop has, make them tell you their plan, then neutrally and fairly give it whatever chance of success it deserves and let the dice fall where they may.
And even more importantly, let the consequences fall where they may. Maybe the party gets clean away with it - unless they're dumb enough to try selling those scrolls in the same town - and if so, good for them. Maybe they bungle the job, or get caught, in which case they're arrested or run out of town or subjected to whatever punishment thieves receive in that setting/locale. It's a simple risk-reward proposition, and the fact that it's not the risk-reward proposition put forward by the adventure is irrelevant.
Telling the players how to play (as per your above "I want you guys to do (semi-)heroic things" example) is in my view just as bad as the other forms of railroading we've seen posited here.
TL-DR - it's a fact of life that DMs build settings so players can break them.