The optimizations are very good but I think you should reduce the poly count for those trees. My GTX 1660 is having some noticeable slowdowns when crunching those high poly leaves. By the way, it seem like the camera movement is not tied to delta time or calculated in _physics_process because it also slows down with the FPS. You should either tie it to delta time to put the logic in _physics_process so that the camera won't have sluggish movements when FPS is low.
Footnote: the way that the game load in different levels really reminds me of Half Life(being able to go back, etc). Mind sharing how it's done?