Slider to control video frames + scatter plot being updated

I have video frames with time series scatter plot that i want to show as overlay. I want to add a slider to control time (thus frame number), thus to show a particular frame and to show the time series data UP TO that slider value. In my code below changing video frames works by using method = ‘relayout’, changing the time series plot range works when using method = ‘update’. How can I make both work?
plotly version = 5.19.0
I am using plotly go
python 3.9

    def plot(self):
        df_list = []
        for track in self.tracks:
            df_track = pd.DataFrame({
                'track_id': track['track_id'],
                'x': track['x'],
                'y': track['y'],
                'fs': track['fs'],
                'ts': track['ts']
            })
            df_list.append(df_track)
        df = pd.concat(df_list, ignore_index=True)
        x_range = [df['x'].min(), df['x'].max()]
        y_range = [df['y'].min(), df['y'].max()]
        fig = go.Figure()
        track_id_grps = df.groupby('track_id')
        for track_id, track_df in track_id_grps:
            fig.add_trace(go.Scattergl(x=track_df['x'], y=track_df['y'], mode='lines+markers', name=track_id))
        fs = df['fs'].drop_duplicates().sort_values()
        image_uris = {f: numpy_array_to_data_uri(self.frames[f]) for f in fs}
        
        slider_steps = []
        for f in fs:
            step = dict(
                method='relayout', # This works for updating frames. 'update' works for updating the tracks
                args=[{'title': f'Showing track up to frame {f}'}], #args=[{}, {'title': f'Showing data for z <= {f:.2f}'}],
                label=f'{f}'
            )
            step['args'][0]['x'] = []
            step['args'][0]['y'] = []
            for track_id, track_df in track_id_grps:
                track_df_frame = track_df[track_df['fs'] <= f]
                step['args'][0]['x'].append(track_df_frame['x'])
                step['args'][0]['y'].append(track_df_frame['y'])
            step['args'][0]['images'] = [{'source': image_uris[f],'xref': "paper",'yref': "paper",'x': 0,'y': 1,'sizex': 1,'sizey': 1,'sizing': "stretch",'opacity': 0.5,'layer': "below"}]
            slider_steps.append(step)
        fig.update_layout(
            sliders=[{
                'active': len(slider_steps) - 1,
                'currentvalue': {'prefix': 'Z upper limit: '},
                'steps': slider_steps
            }],
            xaxis=dict(range=x_range),
            yaxis=dict(range=y_range),
        )

        fig.show()