Hi Adrian,
As you mentioned, FXLS8974 has a different mechanism for vector magnitude vs FXLS8471.
Key difference being that FXLS8974 does not have the A_VECM_INIT_XYZ registers that can be substracted to the measured XYZ raw data.
So I don't see an easy way to implement your use case.
A potential idea could be to use the orientation detection block but you'll be limited to its discrete/fixed thresholds.
Best regards, Jacques