I recently came accross this very so annoying issue when configuring some fortinet devices with PPPoE interfaces. The client had been given a block of IP's, one of which needed to be set as the devices static IP address. In theory this should be a pretty straight forwad thing to do.
It should be just case of taking one of the IP's from the block and putting it in the "Unumbered IP" field, disabling and enabling the WAN interface. The interface should then come back up with the IP you gave it. However when i did this it didnt work, I kept getting a dynamic addres.
Turns out if you are using BT fibre broadband you will still be issued a dynamic IP on your PPPoE interface even of you have been assigned a static block of IP's unless you prevent the firewall from requesting one.
This has to be done via the CLI
config system interface edit wan set ipunnumbered 18.104.22.168 set pppoe-unnumbered-negotiate disable end
Obviously changing the IP for one from your block. Then disable and enable the interface. It will take longer than usual to come up the first time, but when it does, it will be using the static IP.