My personal approach for this (I've actually used it in a project!) is to turn all terrain objects into new "transition terrain" which are persistent, and destroy themselves once offscreen. (Players become persistent "bubble players" with similar logic, except they move to the set spawn points and then become regular players once they reach it). Move ALL objects up one screen-height, change rooms (deleting everything non-persistent but keeping terrain + players), set the starting camera position one screen-height above the playing field, and then pan the camera down 1 screen-height.