If you use a function node with
node.warn(JSON.stringify(msg))
right after your google-home node
do you notice any weird characters or extra spaces in the property names ?
[EDIT] here is a modified version of your test flow that shows what i mean
[{"id":"9566b6e6bd3614e2","type":"function","z":"5847b7aa62131d37","name":"","func":"msg = { \"topic\": \"\", \"device_name\": \"driveway alert\", \" command \": \" OnOff \", \"params\": { \"on\": true }, \"payload\": { \"online\": true, \"on\": true }, \"_msgid\": \"6fd9bbe90bfd4906\" }\n\nnode.warn(JSON.stringify(msg))\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":1920,"wires":[["b070be71099eec5e","50bfcbdd103cbeb2"]]},{"id":"ff97bb624a7b3820","type":"inject","z":"5847b7aa62131d37","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":380,"y":1920,"wires":[["9566b6e6bd3614e2"]]},{"id":"b070be71099eec5e","type":"debug","z":"5847b7aa62131d37","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":710,"y":1880,"wires":[]},{"id":"50bfcbdd103cbeb2","type":"debug","z":"5847b7aa62131d37","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"command","targetType":"msg","statusVal":"","statusType":"auto","x":730,"y":1940,"wires":[]}]
i modified the "command" property to have extra spaces
in the debug window those are not rendered and the msg property value is actually accesible only with extra spaces msg[" command "]
its a long shot but if its the case it would show with stringify