While you can't get a normal pass from a forward renderer as far as I am aware, godot's is a depth pre-pass forward renderer, so you should be able to get a depth pass, and while the extra cost is not desirable, you could do some processing to produce a normal pass conversion from the depth pass.
Note that transparent objects don't get drawn to depth pre-pass, however that issue can be worked around by using a dithering shader instead of transparency. Further you can look into "Discontinuity Sensitive Filtering" to smooth out the dithering.
Honestly though I'm not sure it's worth the effort, might just be easier, well more performant anyways, to implement a deferred renderer plugin for godot on the source level.
edit:
https://docs.godotengine.org/en/stable/tutorials/shaders/advanced_postprocessing.html#full-screen-quad