Yes, it searches for all possible expansions of variables after the !. If you had done:
echo ${!NP*}
you would get only NPX_PLUGIN_PATH.
Consider the following example:
:~> export myVar="hi"
:~> echo ${!my*}
myVar
:~> export ${!my*}="bye"
:~> echo $myVar
bye