Hi, I feel you. This problem is real and I believe your analysis is accurate. The more you use LingQ, the slower it gets.
Not long ago, I have written to support about this very problem and included detailed statistics. LingQ have acknowledged the problem. If, or when a solution might be found is unclear, I am not optimistic because the underlying issue seems to be rather fundamental and not a simple (performance) optimization problem.
My completely superfluous armchair analysis of how I believe LingQ works follows:
LingQ holds a database for each language you have added on the server side. It contains entries for all your “known words”, “ignored words”, “LingQs”, their levels, translations in all your dictionary languages, notes, etc.
When you open a lesson a parsing process is started on the server, it checks all words in the lesson against all entries in your database. This process is what is actually taking the time. Once all words in the lesson have been matched (“known”, “ignored”, “LingQ” etc), the end result is sent back to the browser / app. This is not a bandwidth problem as the data seems to be in the single digit kilobyte range.
This performance problem is apparently also the reason for the current 2000 word limit imposed on lessons. Over the years LingQ has tightened this requirement, the last time with the introduction of LingQ 5, I previously used to upload 4000 word lessons.
Here are some of my numbers:
Chinese (Simplified), after about 435 days of use at 110k words (known+LingQs), a best case scenario (2000 word lesson, no audio) takes at least 40 seconds to open. The performance seems to degrade almost linearly so older lessons (4000 words) take a lot longer, lessons with audio take much longer because the audio download is only started after the parsed data has been submitted to the browser / app.
In Chinese (Traditional) I get away with a bit over 20s. With roughly comparable numbers for known words and LingQs, where does the disparity come from? I believe it is the number of ignored words. When I started on LingQ I was unaware of the harmful effects the ignore word function might cause in the long run and used it liberally. I didn’t repeat the mistake on Chinese Traditional. Long story short, I have shifted most of my reading to the Traditional side of things. 40+ seconds are just a bit uncomfortable, but I’m also not known for my patience 
My suggestion to LingQ was to let users delete their “ignored words” column from their database, this wouldn’t cause any harm and provide an instant performance boost, obviously without solving the underlying problem.