OpenXR device not present in Start or Awake methods in Unity C# script

I’m developing a VR game using OpenXR in Unity (specifically developing on a Valve Index). When I try to access the input devices through the InputDevices.GetDevices() function, I get 0 devices back when I call this function from my script’s Awake() or Start() methods. But when I call the same function from my script’s Update() method, I see all the devices (e.g. head set, left controller, right controller).

Why can’t I see the devices in the Awake() or Start() methods?