I have not done much 2D development in Godot, and even less in Android, but I think any of the methods above would probably work.
Personally, if it was me, I would either go with method 2 or method 3.
From my experience, one of the biggest performance slow downs with Godot is having tons of nodes, so that might be something you want to take into consideration. Though depending on how many cards you have visible at one time, it probably will not be an issue. If it became an issue, you could maybe try to have the cards flipped upside down when not in use or something to save performance, as the upside down card could be a single sprite (where all of the other sprites, the front facing ones, are are invisible)
That said, I have not made card games myself and I mostly do 3D Godot development, so others might have better advice. I found this article on Medium that talks about making a card game with Godot, which may be helpful.
Personally, I would suggest just going with whatever feels most natural to you.
(Side note: Welcome to the forums)