Yeah sounds like a lack of ‘virtual scrolling’. Behind these scenes, they are often creating a tremendous number of markdown renderer components, which are expensive and not meant to have hundreds of instances on a page. It’s a tricky problem imo, and involves tradeoffs with the scrollbar ergonomics.
I think it's both. If you look at the response coming back from claude you can get an idea for how the front end library probably works. (When updating an artifact, claude's response is inefficient. Perhaps this is more reliable at scale but... why not use a diff format similar to git?)