From what I see in:
/cvmfs/lhcb.cern.ch/lib/lhcb/LBSCRIPTS/LBSCRIPTS_v9r2p6/InstallArea/scripts/lb-run
lb-run
will just spawn a new python process, set the environment there and execute. That explains why it has no effect when running it inside a SWAN environment script (the python script does not leave any trace in its parent process).
Unfortunately, I don’t see any other solution right now that manually exporting the variables as you do, so that the notebook python process is configured with them by SWAN.