Usually, when using execute store with data get, when the selected path is an array, the length of the array is returned back and stored at the desired location.
This does not seem to work with a conditional array selection.
Steps to Reproduce
/data merge storage bug:test {testArray: [{bool: true}, {bool: false}, {bool: true}]}
/scoreboard objectives add test dummy
/scoreboard objectives setdisplay sidebar test
/execute store result score $test test run data get storage bug:test testArray[{bool: true}]
-> Stores 0
/execute store result score $test test run data get storage bug:test testArray
-> Stores 3
Observed result
The value "0" is stored and the error message "This argument accepts a single NBT value" is printed (which is simply wrong, as the 2nd case with a non-conditional access shows)
Expected result
The value "2" is stored to the score