Have you seen DXBC files with unaligned chunks in the wild? I have never, it seems that all chunks are always aligned to four bytes. So I would suggest to enforce this behavior `parse_dxbc()` and avoid a copy here.
Yes, this seems suspicious. Even if this does (legitimately) happen in practice, it seems preferable to only make this kind of copy when actually needed.