One option is to use the lower-level function instead of the property, which allows you to query output files by tag and optionally include both actual files and expected outputs:
The tag is just a prefix – “file” will match files tagged with “file/geo”, “file/image”, etc.
The reason for the issue is that when a work item cooks it replaces any expected outputs that correspond to real file paths created while cooking. This means that the behavior of a downstream Python Processor depends on whether or not the input items are cooked or not, which isn't ideal. That issue has been addressed in the next release of Houdini. The attributes and files on work items will always appear the same to a downstream static node, regardless of whether the work item is cooked or not.