also based on my experience, make sure to always pass a utility layer for the gizmo, cause despite what scene you create the gizmo on, the gizmo utility layer will be created based on the last created scene, maybe that’s was one of your issues.
here I tweaked your code a bit, for the axisScene, instead of creating a utility layer and get its scene, I created a new scene directly, this will separate the concern between your originalScene, the gizmo utilityLayerScene and the axisScene.