Yes, the text "on node xxx" is indeed concatenated to the message (which clearly stems from the server) in a very bad way. We have work in progress to change this in PUP-8284.
I think we should also update the specific error message to say eyaml support must be available to the compiler/where the compilation takes place. Just saying that it must be "present" leaves out all information where it is supposed to be present. (Then on top of that - there is the concatenation of "on node" - that is misleading).
Not sure I agree with that. It's clearly a server error which tells you that the lookup_key function is impaired because the hiera_eyaml library is missing. Without the confusing addition with "on node", it's rather easy to deduct that the library is missing on the server. Adding "not present on the server" will hence not make the message clearer, it will just repeat the term "server" a fourth time in the message.
The "on the server" is also not correct if this is when you are doing an apply - it needs to be where the compiler is compiling. The best would be if it could say concretely where it needs to be present (hostname of "running compiler").