Update : this method only worked a few months, and later we had issues booting up.
After talking to Microsoft, the best way to do OSD is using IP Helpers. Point the OSD DP server to the IP range you want.
—————————————————————————————————————————————————————-
Surface pro 3 only supports UEFI OSD boot, so unfortunately the regular SCCM BIOS OSD boot didn't work.
Here is the config you need to setup both UEFI & BIOS boot for SCCM OSD:
For the settings, first need to set two different vender classes,
For UEFI 64 bit machines, vender class is PXEClient:Arch:00007
DHCP 060: PXEClient
DHCP 066: your PXE server address
DHCP 067: smsboot\x64\wdsmgfw.efi
For BIOS 86& 64 machines, vender class is PXEClient:Arch:00000
DHCP 066: your PXE server address
DHCP 067: smsboot\x64\wdsnbp.com
here is a great video on how to set it up on your windows DHCP server: