Great post, thanks for sharing. I like Godot a lot from what I used.
You mentioned using a custom draw function to draw tiles instead of nodes. Did you benchmark this at all? I would expect gdscript would be a bottleneck when looping over a large number of items to do manual draw calls. Maybe a faster way would be to dynamically generate nodes so then looping and drawing can still be done by the engine?
Anyway, thanks for the post.