At my current gig we do that too for a dead simple frontend. a couple of simple tables and cards, a navigation and a footer and we're easily over 2mb. But as I have been told that's what happens when Google analytics gets pulled in and all the code needs to adhere to enterprise style DDD (in a react app mind you). Apparently 400 layers of indirection and encapsulation are the way to go...
edit: Just looked it up. header has a logo and 5 links. footer has a scroll to top button and 10 links. both responsive. How many lines of code you ask? A little over 3400.
Atlassian products seem to use a really great code-splitting-like tech: 4MB js bundles are dynamically generated from a list of which modules should be included in the bundle which is dynamically generated by some other js on the page. So you're essentially guaranteed to get the same modules into your cache a dozen times in slightly different 4MB js bundles.
I'm not sure what the tech is called other than the reason I spend multiple hours a week waiting for jira and confluence to load pages with like 300 words on them