I would expect indir to call chdir and let the exceptions fall where they may. If I indir into something I'm not allowed to do, let the exception come later. Even if I can execute that directory, it doesn't mean I can read the files in it, for instance.
To me, the spirit of Perl has been "if that's what you want to do, here you go". I'd rather take on the burden of handling things if they blow up for things like this if it's a choice between that and not even getting to try it.