1) Make conrete goals
2) Measure first before you implement
3) Measure after implementation, whether you achieved the goals
From the level of detail you present here, it is hard to tell, what exactly your problem is and whether the solution you try to implement indeed solves that problem.
What is your current pain point?
Without knowing that, one needs a good working glassball to help you - mine is just broken.
Under some circumstances, this might be a good thing to do. Depending on your target device and/or your target network.
If you are doing mobile, you have the advantage that, when the file is already in the browser's cache a second request under flaky - mobile is most of the time flaky -
Say, you are aiming for desktop users - although mobile is on the rise, this is not an unusual target - with a reliable 50 Mbps connection, the question may be legitimate to ask, what are the expected benefits from your strategy?
On top: if you are developing an intranet solution, the question about minification is harder to answer.
Another strategy could be, including only a skeleton of functionality at first load and dynamically retrieve additional JS as needed.
There are many solutions to many problems.
This could or could not be a valid option.
Modularity is a nice thing and with a codebase consisting of 4k LOC it is the most obvious thing to do to keep a sane mental state.
At run-time, it's performant: because the user's browser (which includes mobile browsers) only has one JS source file to download; and that file is presumably already cached in the browser when it loads a second or a third web page (i.e. any page except the first
That is somehow a valid point. If a script is interpreted for the first time, the interpreter produces cache data and is able to reuse these information to deliver a faster user experience on later visits.
On the other hand: this holds even for multiple JS files. Once they are loaded, they are also cached.
Is this a reasonable thing to do? Is it normal, or is it a WTF thing to do? Are there disadvantages I should consider, and are they significant?
As long as you do not provide further details, the answer to that is: maybe (not).
I hesitate because it implies code being loaded into a page, which isn't required by that page.
So what? It is your application. As long as you achieve your goals with the design, who cares? You are in charge.