Hi James,
Unfortunately this is caused by a current design - system executes the query and only after that - if you want latest data - it will "replace" the retrieved data with data from latest version. Therefore it is possible to filter latest data only after that (which is definitely not ideal) however this was changed in XbK.
Currently, you would indeed need to retrieve all nodes and then filter in code.