Different users could have different gap limit requirements. 20 seems very low as the default.
A merchant could easily send 20 addresses in a row to customers and none of them bother to actually buy anything.
Setting the gap limit to high is just a small extra cost in that case.Bip-32 serialization doesn't have a way of adding meta data though.