This is absolutely certainly the case indeed. The documentation is out of date here. At the moment, it uses (by default, i.e. not specifying -lmax) the highest possible lmax given the response function lmax, not the gradient table. In practice in most if not almost all scenarios, lmax shouldn’t be specified any more to either dwi2response or dwi2fod, including scenarios with 27 gradient directions and b=1000s/mm2. I have tested a scenario with b=700s/mm2 and 12 (yes, twelve) gradient directions at some point, and even though results will never be optimal in such a scenario, I personally still happily recommend the current default lmax behaviour of dwi2response and dwi2fod, even in such an extreme case.