Normally a hyphen inserted at a line break comes from the font used for the current word.

If the luatex extended {before}{after}{nobreak} syntax is used in \hyphenation the same is true unless the nobreak field is empty in which case the font from (I think) the end of the paragraph is used.

This is LuaTeX, Version 1.15.0 (TeX Live 2022)

You can work around the issue by repeating the following character so

{-}{w}{w} instead of {-}{}{}w

in the attached example, but this seems wrong?