Seems reasonable to me: this way, you don't have to duplicate the BOM stripping in the decoders of every single format you want to support.
It's also more general as there are other commonly-needed transformations that have an even weaker case for explicit support in the CSV library (charset conversion, dropping other bogus bytes, ...).