How to determine which public address from the pool the subscriber will receive?

To see which public address was assigned to a private one, you can use the command

fdpi_ctrl list status --service 11 --ip 192.168.4.20

In NAT 1: 1, the public address is allocated immediately when the service is assigned, in CG-NAT at the time of the session start

Also, the public address allocated to the subscriber is reported to Radius Accounting for the purpose of logging it in billing.

It is impossible to predict in advance which address will be issued to a subscriber from the pool: it depends on various factors and, in particular, on the current load of the pool.