2 things i can guess without seeing the Global.singleton :
if the values Global.Testplant1, Global.Testplant2 arent Strings that could be the issue.
the other thing is load("res://" + str(Global.selected_plant) + ".tscn") does nothing by itself.
this could would load scene1.tscn or scene2.tscn if pressed.
var string_variable:String="scene1" ## lets set some default so we dont cause crashes
var scene_trs =load("res://"+string_variable+".tscn")
is neccesarry to actually make an instance. load() and preload() and add the scene as a child to some existing node. Otherwise it wont show up.
-load(), preload() is like looking up the blueprint of the legohouse you wanna build.
-instance() is buying one of the boxes that include all parts you need to buy said house, if you instance() at some point later again you will build the exact same looking legohouse later again.
-add_child() is the putting the pices together and setting it into your cupboard (assuming cupbard would be the node where we add it) where you can finally see it and interact with it. for example put lego figurines into it, paint it's walls etc.