JupyterLab doesn't save widget output state when the file is closed, so all cells have to be recomputed to see the output.
When using the jsdom renderer, output is saved between sessions.
As with #2 this is probably an upstream issue!
This appears to be the relevant issue jupyter-widgets/ipywidgets#3823 and it looks like people are making progress to fix it.
I tried downgrading jupyterlab and ipywidgets as suggested here without any luck. jupyterlab/jupyterlab#15361 (comment)