Welcome! Can't wait to see this new title; it sounds pretty awesome just from what you've hinted at here!
We have not yet put a lot of work into optimization, but my gut tells me you are on the right track to target GC from temporary variable usage. Recent versions of the code include a somewhat related optimization, specifically to handle temporary ValStrings (which were otherwise generated profusely while looking things up in maps). But as far as I know, nobody has tried what you're describing yet.
It's completely fine to submit pull requests that target only one of the two implementations. I will most likely be able to take the changes and apply them to the other (C++ in this case) version. So don't worry about it — any contributions are appreciated very much!
Finally, to do what you're describing, you will be digging (or have already dug) fairly deep into the guts of the system. You sound pretty confident about it, but if you need any support at all — from explanations of what code is doing to kicking around ideas about how to improve it — don't hesitate to ask. I'm here for you!