Because your recording is API only, and the listing builds those rows on a second pass that does not read the sidecar.
It walks the environment directory twice. The first pass takes every .har that is not an .api.har, and for each one it looks for the matching .har.json and fills in glob, recorded and scenarios. The second pass then picks up any name that only ever produced an .api.har — yours — and adds a row from the file on disk alone.
So the sidecar is fine, it is simply not consulted for that row. size and api are real because they come from the filesystem; the three blanks are the ones that would have come from the sidecar.
Two of your three fields would be empty anyway, incidentally: an API-mode recording writes no urlGlob at all, and its scenarios list stays empty. Only recorded is genuinely being lost here.