With Experience Builder, I understand Data Views can be used to declare a source for a widget without allowing the widget to affect the source itself (only to affect a view / snapshot of that source), as detailed here. My use case requires quick and easy user interface, so I want employ the Map widget "Extent Changes" trigger with the "Filter Data Records" action (akin to the "filter by extent" option available for several widgets in WAB).
I select my Action Data and it's respective Data View (I've created a view called Map Extent, identical in its content to the Default view), then under the Conditions section I enable "Query by current extent". This all works as expected; to test, I use a simple Text widget with a data connection to the same layer I selected as Action Data for the Map, and specified the Map Extent data view. Using dynamic content I print out a count of all the features in that layer (31k at a lesser extent, 69k at full extent), as expected.
My problem comes in when I try to set up a Filter Widget with this same data connection (ie the Map's Action Data layer and its Data View "Map Extent"). My Filter widget necessarily asks for values, offering a list of all Unique options. For demonstration, initially the Filter offers all ObjectIDs as filter options. A simple pan / zoom of the map results in a refresh of the Filter widget to read "No data". Expected behavior would be that a pan / zoom would refresh the options to be only those ObjectIDs that are visible in the current extent of the map.
Other cases where I've been able to replicate this unexpected behavior are with the Feature Info and Table widgets.