loader(8) claims that setting comconsole_pcidev will automatically set comconsole_port, but this did not work for me.
My Lenovo Thinkpad X220 has the following UART (provided by AMT Serial-over-LAN):
uart2@pci0:0:22:3: class=0x070002 card=0x21da17aa chip=0x1c3d8086 rev=0x04 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family KT Controller'
class = simple comms
subclass = UART
bar  = type I/O Port, range 32, base rx50b0, size 8, enabled
bar  = type Memory, range 32, base rxf252c000, size 4096, enabled
cap 01[c8] = powerspec 3 supports D0 D3 current D0
cap 05[d0] = MSI supports 1 message, 64 bit
I set comconsole_pcidev="0:22:3" in loader.conf, but did not get a serial console and when the system booted kenv showed comconsole_port=1016.
I was able to get it to work by setting comconsole_port and hw.uart.console explicitly: