In case anyone else is having trouble with this:
Here's what I learned using Blazor SSR with pages containing @attribute[StreamRendering] and also using BlazorPageScript to run some custom js for user interactivity:
StreamRendering will 'stop working' if there are any uncaught javascript errors. 'Stop working' means the page opens as if @attribute[StreamRendering] is not there.
The 'stop working' may occur even if you write correct js.
Here's the Blazor bug: in the BlazorPageScript onLoad() and onUpdate() events, if the js code contains 'getElementById', it will trigger an 'ID NotFound' error, EVEN IF THE ID EXISTS.
StreamRendering requires onUpdate() to be executed twice before the page is shown, it's on the 2nd onUpdate() that the 'ID not found' error occurs.
The fix is to wrap all your custom JS functions in a try/catch.
When testing this, you may need to navigate to another page, then back to the page you're testing to see StreamRendering fail. Just refreshing the page may not be enough.