This is not a bug, but a limitation in the Prefab system.
InputActionReference.Create creates a ScriptableObject in memory and SOs are categorized as Assets even when they only exists in memory, which is the case here.
The Prefab system does not support saving objects categorized as Assets to a prefab and a Prefab asset can't reference an object that only exists in memory, so the reference is removed from the final Prefab when it is saved.
A work around is to make the ScriptableObject an asset after it has been instantiated, but before saving the prefab. Simple use https://docs.unity3d.com/ScriptReference/AssetDatabase.CreateAsset.html after calling InputActionReference.Create