For anyone interested, here is a solution (more accurately a workaround) for using different menus with Proxy DHCP depending on BIOS or EFI boot.
I stumbled on the solution as I was trying to add the command console to ipxe by rebuilding my own. My first build would result in a boot loop where ipxe would ask again for DHCP and load itself back again. ipxe.org has a solution for breaking the infinite loop, and this was the solution to using different menus.
Here's a little help to get started with rebuilding your own ipxe.efi:
Go to https://ipxe.org/download, make sure you have the necessary packages listed (gcc, binutils...), clone the repository git clone https://..., and go in the folder ipxe/src.
WARNING: At first, try to compile it the way it is before making changes, and if you do, don't make too many changes before trying to build it again as your changes will break the build.
Begin by editting the file config/general.h to enable/disable various features. Note that there are commented lines, and they begin with a variety of #define and #undef. Thus, enabling HTTPS means changing the line #undef DOWNLOAD_PROTO_HTTPS to #define DOWNLOAD_PROTO_HTTPS. As such, uncommenting a line may not be enough to enable the feature, same goes for commenting in a line may not be enough to disable the feature.
For BIOS boot, you may want to edit config/console.h. See an example here.
Create a file init.ipxe and add the following content:
#!ipxe
dhcp
chain proxy/efi64/pxelinux.cfg/default.ipxe
In true TOEM fashion, this should run the proper file which contains the menu for EFI64 boot. You may technically do anything you want here.
Finally, compile the ipxe file with the command make -j4 bin-x86_64-efi/ipxe.efi EMBED=init.ipxe, and this is the resulting file bin-x86_64-efi/ipxe.efi.