I'm in exactly the same position. Kids losing keys meaning replaced locks at £20 a time. They don't keep their Bluetooth turned on as they're under some 2012-style belief that it runs your battery down.
There's probably a solution using MAC addresses. I've got a Samsung SmartThings setup where the presence location is notoriously flaky and needs the app installed on every phone. Cue kids wailing "we don't have enough space for the app, waaaah". Whatever. But what I can do is run a script on my Asus router (it will work on anything that runs a WRT-style environment, or perhaps even Tomato) which checks for their MAC address every 10 seconds and flips a virtual switch via HTTP, notifying SmartThings that they're home. Typically works as they walk up the path. It has the benefit of it needs nothing installing on their device, they just need to connect to the WiFi - which they do, constantly, because teenagers.