For all the users having the same issue. This is a problem with profile selection of LTE modem.
For some unknown reason modem has a proper profile for Poland but it is not using it. It's selecting different one instead.
Don't know what is the root cause.
Below fix should work for other countries and networks.
How to fix this.
1. Root the phone with magisk. Use proper version for your OS version.
2. Using adb put the phone in diag mode:
adb devices (check if phone connected)
adb shell
su (grant root) ( this is why magisk is needed)
setprop sys.usb.config diag,serial_cdev,rmnet,adb
3. Run QPST and check if phone is visible.
4. Run PDC ( it is installed together with QPST) and select your phone.
5. In PDC you will see the list of all modem profiles and the one being used at the moment.
6. Select the one that is suitable for you ( or you think it is) and activate it in PDC on sub0 and sub1.
7. Don't disconnect the phone, test if the caller Id is now showing up as it is supposed to.
8. If it is, then reboot the phone and test again. If not, go to point 6 and select different profile.
9. If it still works fine after reboot go to point 10. If after reboot you can't see caller id, this means that you have to remove the profile in PDC that the modem defaults to and activate proper profile again.
10. Unroot the phone by uninstalling magisk.
Above procedure has fixed the problem on my Poco X3.