I have an old "Lufia (US).smc" that has the CRC32 of 087FCACF. With the header removed it is 5E1AA1A6. So it's the same game. If you add a header (so it's 1,049,088 bytes), then it's the correct file to patch. After patching and removing the header, I got CRC32 of 55FF8A59 for Restored 2.4.1 and 27E5A7A3 for Restored VANILLA FONT 2.4.1 which should match yours if you remove the header.
Here are the 512 bytes (0x200 hex) from the beginning of the file (the header). These bytes are not part of the game, they are settings for HiROM/LoROM, SRAM size etc that are used by an old copier device. They can safely be removed after patching. If your ROM is 1,049,088 bytes, overwrite the first 512 bytes with the following. If you have the nointro ROM with a size of 1,048,576 bytes and CRC32 5E1AA1A6, insert these 512 bytes at the beginning. Then you will have the CRC32 087FCACF file.
This is the problem with SNES ROMs and old copier/backup unit headers. The header is metadata from the copier saved along with the ROM data from the cartridge. Backup units could also dump the saveram to a separate file. Different units have different headers which result in different file checksums, even though the ROM data is the same in all of them. 512 is the sector size of the 3.5 inch floppy disk. So if you don't have a backup unit, you don't need the copier header.
If I find a patch that needs a headered ROM, I add a header, apply the patch, then remove the header, then rename to .sfc. If you do remove the header, make sure the ROM has a different filename than the .ips so your emulator doesn't auto-patch the ROM again and cause corruption. The patched ROM should show up as checksum OK in some emulators because the authors fixed the internal checksum (I use ucon64 for this).