It should also be possible to render the chart in a WebWorker via the OffscreenCanvas API.
To be honest though, the data should be decimated before being sent to the chart. Some notes on it https://www.chartjs.org/docs/master/general/performance#data...