I know I'm asking impossible but who knows...
Maybe in the "near" future luatex could adapt user_defined whatsit
to
have some more fields where it could store lastskip, lastpenalty,
...
So that \last... checkers could point to this corresponding field to
check the value if it sees that last node is user_defined whatsit
:)
that is consistent with other whatsits from classic tex
like \special or \write, or in fact any node of any type.
\lastskip only picks up a value if the last node added to
the current list is a skip.