So I've had these kind of problems aswell.
Not only with netflix but with other apps.
It seems like the iOS devices are adding a 'prefix' to the service which makes the controller not acting on the mDNS queries as it should.
Doing the work around shown above is not scalable in my opinion.
Here are some examples:
iphone with app 'CMORE', does not work
Aug 8 16:07:09 :527000: <4298> <DBUG> |mdns| mdns_pcache_prepare_matching_records 1081 Add MID: name=_2121C003._sub._googlecast._tcp.local, type=PTR, clasz=IN
Aug 8 16:07:09 :527000: <4298> <DBUG> |mdns| mdns_parse_query_packet 2089 There was no response to query from mac:xxxxxxxxx ip: xxxxxxxx
iphone with app 'TV4', does not work:
Aug 8 17:11:47 :527000: <4311> <DBUG> |mdns| mdns_pcache_prepare_matching_records 1081 Add MID: name=_67069778._sub._googlecast._tcp.local, type=PTR, clasz=IN
Aug 8 17:11:47 :527000: <4311> <DBUG> |mdns| mdns_parse_query_packet 2089 There was no response to query from mac:xxxxxxxxxx, ip: xxxxxxx
when we see this, it works:
Aug 8 16:08:21 :527000: <4298> <DBUG> |mdns| mdns_pcache_prepare_matching_records 1081 Add MID: name=_googlecast._tcp.local, type=PTR, clasz=IN