Using Jupyter's Run all can lead to unexpected execution order if one of the cells makes use of ipython_blocking. See the following minimal example:
ipython_blocking
Also experiencing this - Will provide deeper analysis soon.