1. Да, в iOs есть такая функция, но её можно отключить для своей сети WiFi. В свойствах сети можно снять галочку "Частный адрес WiFi".
2. У меня как минимум на двух маршрутизаторах после подключения макадрес не меняется и whitelist прекрасно работает и без отключения этой галки.
3. Из обходных решений — на iOs есть "Команды", там можно настроить автоматический макрос, который будет срабатывать при подключении к домашней WiFi сети, можно создать автоматизацию, которая будет что-то дергать в системе умного дома. Логика получится немного размазанной, но с высокой гарантией.
Полагаю, что на Андроид тоже должно что-то похожее быть.