you can't apply the xdelta patch onto a different file than the expected one.
The patch is a comparison and differences between two files (the clean and the modified file).
Original <-> patch <-> modified
If you change the original, you can't use the patch anymore.
You need a NEW patch file, specifically created using CIA as source when comparing both original and modified version.
Short answer :
1. Use the NDS file to apply the patch, then convert the result to cia.
or
2. Use a xdelta for cia. (ask the translation team, etc.)