The battery percentage is arbitrary based on a voltage range, historical data, ignoring dips in that voltage caused by temporary loads. If you were to monitor the voltage of the iPhone throughout the day you'd see it going up and down with a declining trend based on usage. Algorithms are programmed to ignore that voltage going up and down so it gives the consumer the appearance of an always decreasing percentage. A very cold battery won't be able to provide the same energy per % number as a room temperature battery however it has to still provide 100% to 0% as evenly as possible. Battery health is another consideration, the voltage at 100% on a 2 year battery might not be as high as the voltage at 100% when it brand new. iOS still has to make it work though....
So during boot/reboot is when the system can be most vulnerable of attack. When an iOS device turns on or reboots is when its going to run through what Apple calls its "Chain of Trust". This is a hardware intensive process because boot partitions are being checked for Apples signing code, several data integrity checks, partitions decrypted all while performing processes to make sure no code except Apples is present. The hardware of the device is also being verified (cell baseband). Memory is being wiped through these steps. All the steps in this process to minimize (hopefully eliminate) weaknesses that could be maliciously exploited. Finally your device UEID and your passcode is entangled so entering your passcode allows you to unlock your iPhone and the user data can be decrypted.
That process takes a while because its somewhat hardware intensive (if not reboots would be faster), I wouldn't be surprised to see 1-2% battery be actually consumed during the reboot process.
On top of that your battery's arbitrary percentage was read from a voltage somewhere during that boot process. Since the device was performing other task it was read while the battery was under a load. When you put a load on a battery its voltage will decrease unless its massively oversized. This may give it the "appearance" of being low.
For example, if you are using your iPhone normally and its 90% which we will say is 3.999 vdc (for sake of argument I don't know the exact voltage) and you do an intensive task it might dip for a moment to 3.699 vdc than back up to 3.989 vdc when the task ends. However during that time the percentage won't drop to 88% and bounce back to 90% because that wouldn't make logical sense to the end user.
Rebooting will wipe the reference the iPhone was using plus depending on the moment the battery voltage is read it could "appear" less because of the battery intensive process it just went through.
Since that probably didn't make any sense here is a down and dirty example with a flashlight. Its an Olight Baton II which works well for this example because I can measure voltage via its magnetic charger connection...
Flashlight OFF - 4.088 vdc
View attachment 1863528
Flashlight ON - 3.905 vdc (kind of see it between the crack, hard to do this one handed)
View attachment 1863571
Flashlight BACK OFF - 4.085 vdc
View attachment 1863530
Now imagine with an iPhone 4.08 vdc= 95% and 3.905 vdc = 91%. Depending on when the voltage was acquired will determine its "percentage". Without some sort of system in place though the percentage would be up and down all day so the percentage has to be generic in practice.
TL.DR - The battery percentage dropping after a reboot is iOS trying to present the consumer a number that makes sense even though its based off wildly fluctuating voltages and conditions that are impossible to make sense of. This is completely to do with software and could be sorted out by Apple. However its important to keep in mind, nothing is actually being "fixed" its just telling you what you'd expect/want to see.