From the clicking and knocking, that sounds like low coolant level. It happened to me on my ES330. The block heater popped out due to a bad new replacement, they used the old bracket on a new heater.
All your codes are misfires. Go to another mechanic. The popped plug can be fixed cheaply with a Helicoil Insert. Then check or replace all the spark plugs. Then reset the codes. Your reduced speed is 'Limp Mode'. From everything you say, I believe you have a coolant leak or coolant issues, which can cause misfires. I just remembered my ES had to have a new radiator about 6 years ago as it was leaking badly.
https://www.google.com/search?q=helicoil+spark+plug+thread+repair+insert
https://www.google.com/search?q=Lexus+codes+P0300+P0306+and+P0303
I have the FIXD Sensor and App and do my own code stuff. It is basic but does the job.
P0300 Causes
Multiple misfires can be caused by many reasons from a
faulty ignition system, fuel system, or internal engine failure. The most common reason for this to happen is faulty or worn-out spark plug coil packs, especially if it's been a while since you had a tune-up.Mar 14, 2018
P0300 - Meaning, Causes, Symptoms, & Fixes - FIXD