Strangely enough, my problems disappeared after I set the Mobile User option to "No mobile user allowed". I made several tests moving the laptop between subnets, and each time it received the correct IP address.
I shut down the laptop between each move because that is the real-life situation in my particular case. Maybe the results would be different if I just disconnected the laptop from one subnet and connected to the other.