I had the same issue and figured out a workaround. The root cause is that after setting up VFs, the IB device’s node_guid in the host stays zero in ibv_devices. When I pass the VF to a guest it gets a node_guid and ROCE works.
To work around this I use devlink to set a MAC address on the port, then I unload mlx5_ib and reload the module:
devlink port # find your VF in the list here and copy the id
devlink port function set pci/0000:10:00.1/65537 hw_addr 72:e4:64:e0:87:a0
rmmod mlx5_ib
modprobe mlx5_ib
ibv_devices # should show a non-zero node_guid for the VF now
after this the VF has a node_guid in ibv_devices. This seems like a bug in the driver.