The Arduino IDE is just running an AVRDUDE command to upload to those boards. If you run the exact same command then you're going to get the exact same results.
You can see the command the Arduino IDE runs if you set File > Preferences > Show verbose output during: > upload.
There is one small difference. The Arduino IDE defines a macro for each board, which can be used to make code adapt to which board it's running on. So whichever board you compiled the .hex file for will determine that macro. However, there is no functional difference between Pro Mini and Nano so it's quite unlikely that would ever make a difference. In fact, people would be more likely to use the AVR_ATmega328P macro which is defined the same for any of those boards.
JakeSoft:
Opt-boot frees up at least an extra 1K vs. Nano/ProMini default boot loaders
Optiboot fits in a 0.5 kB boot section. The old bootloader (ATmegaBOOT) requires a 2 kB boot section. So potential savings are 1.5 kB but unfortunately Arduino screwed up and left the boot section set to 2 kB on their new Nano boards with Optiboot. Of course that can be easily changed if you have an ISP programmer or turn an Arduino board into an "Arduino as ISP".