gbanuru host uses an empheral port, which gets auto-assigned, to send out the broadcast and receive back the responses to. If receiving to that port is blocked then no responses will be visible, yielding to being unable to detect the devices.
I'm not completely sure how firewalls usually handle this situation - I think its similar as in TCP where after the connection is established, temporary ports are assigned afterwards that represent the actual connection.
Maybe you shouldn't block the incoming UDP traffic to 1024-65536 range (empheral / temporary ports assigned by OS)?