Yes, unfortunately this is due to a bug in FreeOpcUa that has not been fixed yet.
When we browse to discover the TypeDefinition of a Node FreeOpcUa returns no references, and this ends up forcing us to treat the Node as a base VariableNode, but in your case this is being called from some higher level code that expects correct modelling constraints.
It also manifests in simpler scenarios: [milo-dev] server status node has wrong type
The code in this gist reproduces the issue: Scratch.java · GitHub