Just adding my experience with this here. I got the same issue and my setup is this:
I'm basically instantiating the LMHeadMountedRig at runtime, which for some reason causes GetLeapController() to throw a NullReferenceException
This was in the ouput.log
NullReferenceException: Object reference not set to an instance of an object
at Leap.Unity.LeapServiceProvider.IsConnected () [0x00000] in :0
at Leap.Unity.LeapVRTemporalWarping.Start () [0x00000] in :0
The weird thing is, everything still seemed to work. The hands were just at a different position than the camera and did't move with it like evan described above, but the tracking worked correctly.
@evanbindz maybe you can confirm that this also happened to you, when you tried instantiating the Leap Motion scripts from a prefab at runtime?