I would raise this with Support.
For the same page in a Tridion Sites 9.1 implementation, I tried using the GetMeta(int pageId) and found it returned null, but GetMeta(string pageUri) does not.
Be careful with the parameters your using here, when initialising and calling the method.
PageMetaFactory constructor expects a string or an int. If you pass a string it must be a TCM URI, so not, as in my case(!), a integer as a string, e.g. "19". This is easy to do if your just passing
WebRequestContext.Localization.Id in DXA.
The same applies, in my case, to the
GetMeta method, if you pass a string, it must be a TCM URI, not, as in my case(!), an integer as a string e.g. "161091". Again, easy to miss if you just pass
PageModel.Id in DXA!
Turned out it worked perfectly ... when given the right params!