Interesting - in a short test, I don't even get your final example
working. (This is 2.6.2.)
However, this seems to be a problem with the syntax of nested hashes, as
this Works For Me:
$all = $networkinfo[$nodename][$iface]
$address = $all[ip]
notify { "check": message => "retrieved address $address" }
You may wish to raise a possible bug.
HTH,
Felix