Most suitable solvePnP flag

Good afternoon. I think I have confusion about usage of solvePnP(). I have two square targets located at angle to each other. I have tried different flags of solve PnP, but the result always is much more off than I expect it to be (since I just select the points on target corners manually, which seems simple enough).
Most recently I tried SOLVEPNP_P3P, with 4 points (I tried 3 on one target and 1 on another, 2 and 2, all 4 coplanar - not even sure from docs whether they should or should not be coplanar). First 3 points are always fit perfectly, and 4th is always way off (sorta expected because of P3P ambiguity… But I thought that with such easy targets that should not happen).
What would be the best PnP approach for my set-up? Any advice, code, literature are appreciated.

can’t do anything without a MRE.

lierature iss
appreciated