Can confirm. SPA, FRE, GER, and ITA languages on a PAL 3DS cannot receive HKTW codes or HKTW+SEA codes.
Instead, you'd have to use ENG, JPN, KOR, CHT, or CHS.
My theory is that, for HKTW codes on a PAL 3DS, the game looks for a card specifically for each language. GER looks for a card that's coded as a German language card, and so on. So that's why you get a "gift is not there" error when you try to redeem a HKTW code in that language - the game literally cannot find the card, because there's not one. ENG language cards find one because there is an English card, and JPN/KOR/CHT/CHS are set to "default" to looking for the English card, so you do find the gift when you try to redeem the code on those languages.
I'm pretty sure the same thing happens with SEA codes on the NA 3DS - except for the fact that when SEA codes go online, they upload the English card as the English card, and the Spanish card, and the French card. So you'll always be able to find a SEA code on a NA 3DS. Presumably, they could do this with HKTW codes too, but choose not to for some reason.
Put another way, here's what a HKTW event looks like on the server:
- JP
- PAL-ENG
Here's what a SEA event looks like:
- JP
- NA-ENG
- NA-SPA
- NA-FRE
So naturally, when you see this, you can tell it's a combined HKTW+SEA:
- JP
- PAL-ENG
- NA-ENG
- NA-SPA
- NA-FRE
(There's actually more, because they upload one each for Sun/Moon/US/UM, but you get the idea)