Eevee way much slower than Cycles
It’s likely that it’s your materials rather than your scene itself that’s causing the lag.
I have had issues in the past where using multiple Noise textures and other texture nodes within a material can really hurt performance on Eevee. This seems to be due to Eevee pre-rendering some surface textures to optimise the actual render - and this seems to cause a performance hit whenever the scene or materials are changed. Try removing your materials one at a time and see which (if any) is causing the lag. You may be able to simplify any materials that are proven to be causing the issue.

Update: I've recently made some more progress on this and tracked down slow Eevee performance to multi-dimensional Texture nodes in particular. For example, using a 3D texture (such as the default for Noise) where perhaps a 2D texture (Noise set to '2D') would do - for example, when using a UV map, the Noise (or other texture) should be set to '2D' to drastically improve performance.
Note that Eevee appears to pre-sample such textures and so reducing the Dimensions to the bare minimum for that case will drastically reduce the overhead (eg, it only needs to pre-sample a plane for a 2D texture instead of a volume for a 3D texture - the extra dimension is wasted processing time if that dimension is never actually going to be used).
Note that in extreme cases I have had Blender crash due to this - when I swapped from Cycles render view (which worked fine) to Material Preview mode (which uses Eevee regardless of your render settings). Reducing the dimensions often resolves the crash - as well as making the interface much more responsive.