Got it, thanks. This was a bug in the editor where the dopesheet framerate from the JSON is used. Since your JSON doesn't have a framerate, it uses 0 which gets clamped to 1. Fixed in 3.5.24, releasing today. Until then you can set the FPS in your JSON, adding a skeleton
section:
{
"skeleton": { "fps": 30 },
"bones": [
{
"name": "root"
},
...