Current spec wording:
Notice that if the supplied BGLs are empty they won't be checked that they are valid to use with the device, nor is their explicit pipeline checked.
The CTS test webgpu:api,validation,createPipelineLayout:bind_group_layouts,device_mismatch: tests that an empty BGL is valid to use with a device which I think is the intended behavior.