After reading for the 10th time, I have the answer (although not a direct one): "calls to lock by the same thread from within dynamically nested scopes are safe -- the variable will remain locked until the outermost lock on the variable goes out of scope."
The answer is yes.