When the `legacy` feature was enabled, `from_zstd_with_options` had an incorrect order of operations. It would attempt to validate a decompressed file with `rkyv::access` *before* checking if the file was a legacy `bincode` format.
This caused the loading of legacy dictionaries from `.zst` files to fail unconditionally with an unaligned pointer error, as `rkyv` validation would (correctly) reject the `bincode` data.
This commit fixes the bug by checking the file's magic number immediately after decompression to determine the correct format before attempting any validation.