FInputDeviceScope is not set in IGameInputDeviceProcessor::EvaluateSwitchState() - intentional or an oversight?

Engine version: 5.7.1
File: Engine/Plugins/Runtime/GameInput/Source/GameInputBase/Private/GameInputDeviceProcessor.cpp

In the GameInput plugin, the three helpers on IGameInputDeviceProcessor that dispatch
messages to the FGenericApplicationMessageHandler are inconsistent about setting
FInputDeviceScope:

  • OnControllerAnalog() → sets the scope (line ~146, gated by bSetDeviceScope)
  • EvaluateButtonStates() → sets the scope (lines ~203 and ~222)
  • EvaluateSwitchState() → does NOT set the scope at all
    As a result, when a controller’s D-pad arrives as a hat switch (GameInputKindController
    devices going through FGameInputControllerDeviceProcessor::ProcessControllerSwitchState,
    and also FGameInputFlightStickDeviceProcessor’s hatSwitch), FInputDeviceScope::GetCurrent()
    returns null inside the resulting Slate input event. FCommonInputPreprocessor
    (CommonInputPreprocessor.cpp, ~line 242) therefore skips its automatic gamepad-type
    detection entirely for those events. We are seeing this on Windows with a DualSense
    configured via DeviceConfigurations (bProcessControllerSwitchState=True): pressing the
    D-pad never updates the detected gamepad type, so CommonUI keeps showing the previously
    detected button icons.

Is the omission in EvaluateSwitchState() deliberate, or is it a bug?