hello! nice to meet you!
i had a remarkably similar issue wherein the input singleton node being created to capture control rebinding was working (including the _physics_process function !) but not getting to use _input . same need, nearly the same problem--the only difference being that my controls menu also exists on my main menu and worked there, where get_tree().paused = true isn't being set.
I seem to have solved it by making a good chunk of the tree process mode always, and leaving the ux portion of my tree as always, but making the actual "playspace" pausable.
so as best as I can figure, from having NEARLY exactly the same issue, in my case it was that a Subviewport and Subviewportcontainer needed to be in a mode where they could pass the inputs along or something. I don't know I'm just relieved I won't have to redirect the player out to the main menu to set controls, LOL.
Here's my scene tree. The architecture should maybe be revamped anyway to allow for higher-res fonts to be in the UX and speech bubbles, but I'm not about to worry about that right this moment.
hopefully you've found a satisfactory solution at some point in the last couple years but in case you haven't or in case it helps anyone else having this remarkably specific problem, there it is.

best of luck in your coding journey!