I know it is confusing but we have two different kinds of ids, node ids and taxon ids, and they are completely unrelated. The node ids are temporary tags tied to data structures inside the treemachine and taxomachine neo4j databases; the node ids are not stable from one synthetic tree build to the next, and are not even the same between the two databases. It is an architectural mistake that these are visible to users at all. The taxon ids (ottids) refer to taxa (or to ideas of same) and are stable from one taxonomy release to the next. You want to take the number 664349 in the TNRS result and feed that as the 'ott_id' (not 'node_id') parameter to the node_info API call.
I think that with the switch to synthesis with propinquity, the difference between OTT ids and node ids will be self-evident. (Node ids for taxonomy nodes are 'ott' followed by an OTT id; node ids begin with 'mrca'; OTT ids are numbers.)