Yep, getting a fresh look at things after a nights sleep is good

I'm not sure why you can't
prefill Object types, but it works just fine doing them at runtime. It may just be due to their nature or the fact that you couldn't drag and drop them. This could probably be a supported feature but is more complex for little return so it was decidedly omitted.
If you have an array of GameObjects then...
1. Use Array List Get to store the GameObject locally
2. Use Get Component to store a Component on that GameObject. (this requires you make an Object variable and choose which component you want from that GameObject before ever actually getting it. Get Component will look at the variable, then get the component from the target GameObject and store it there.)
3. Use Set Property, target that Component, change the text variable. You can fill with a string variable or set it explicitly in the field.