What is curious: if we comment out \lccode in the example, pdftex fails with this (as it should): (./test.tex ! Not a letter. l.5 \hyphenation{' '-aa-''} ? But luatex happily processes the file (giving the same output as pdftex did before commenting out \lccode).