I’m going to take a guess here that “map” does not refer to a representation of geography, but is rather a javascript construct.
The next guess would be that your code is (perhaps as a result of load sharing and a version change) running in two different execution environments which make different assumption of what operations are implicit and what are explicit. In one the map gets fully decomposed to nested json, in the other it gets dumped out as a string description.
(For example there was another recent complaint about changes in the javascript environment Buffer not defined any more?)
Although an ugly workaround, something simple you could probably due would be to flatten the structure, ie instead of having a “location” just have a “latitude” and “longitude” at the same level as “doorState”. You’d have to change the receiver too but consistency would seem more likely.