Repository: godot
Issue: RichTextLabel: Newly Instanced RichTextLabel's add_text() and append_text() don't add to text
Labels: discussion,documentation,topic:gui

### Tested versions

- Reproducable in: 
v4.3.beta3.official [82cedc83c]
v4.2.2.stable.official [15073afe3]
v4.2.1.stable.official [b09f793f5]
v4.0.alpha1.official [31a7ddbf8]

- NOT reproducable in:
v3.6.rc1.official [cfc4a0eff]

### System information

Godot v4.2.1.stable - Windows 11- GLES3 (Compatibility)

### Issue description

When a RichTextLabel is instanced via code, the methods `add_text()` and `append_text()` do not add text to the RichTextLabel.
This happends regardless of waiting; see code snippet below. RichTextLabel's Text property stays empty.

When a RichTextLabel is instanced via code, adding text via `label.text += "text to add"` successfully adds text to the RichTextLabel.

When a RichTextLabel is instanced in the editor, the methods `add_text()` and `append_text()` successfully adds text to the RichTextLabel.

I've also attached an Minimal reproduction project to this issue.
```gdscript
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
	create_new_richtextlabel()

func create_new_richtextlabel() -> void:
	var text_to_add: String = "Hello World!"
	var new_richtextlabel: RichTextLabel = RichTextLabel.new()
	add_child(new_richtextlabel)
	
	# Wait until were sure the new richtextlabel is ready
	while (not new_richtextlabel.is_node_ready()):
		await get_tree().process_frame
		
	print("Waited, RichTextLabel is now ready")
	print("Text to add is: \'", text_to_add, "\'")
	new_richtextlabel.add_text(text_to_add)
	print("Text after add_text() is \' ", new_richtextlabel.text, "\'")
	new_richtextlabel.append_text(text_to_add)
	print("Text after append_text() is \' ", new_richtextlabel.text, "\'")
	new_richtextlabel.text += text_to_add
	print("Text after += is \' ", new_richtextlabel.text, "\'")

	print("\n Clearing text.. \n")
	new_richtextlabel.text = ""

	print("Waiting for 5 seconds")
	await get_tree().create_timer(5.0).timeout
	print("Text to add is: \'", text_to_add, "\'")
	new_richtextlabel.add_text(text_to_add)
	print("Text after add_text() is \' ", new_richtextlabel.text, "\'")
	new_richtextlabel.append_text(text_to_add)
	print("Text after append_text() is \' ", new_richtextlabel.text, "\'")
	new_richtextlabel.text += text_to_add
	print("Text after += is \' ", new_richtextlabel.text, "\'")
	new_richtextlabel.push_font_size(25)
```

Output:

```
Waited, RichTextLabel is now ready
Text to add is: 'Hello World!'
Text after add_text() is ' '
Text after append_text() is ' '
Text after += is ' Hello World!'

 Clearing text.. 

Waiting for 5 seconds
Text to add is: 'Hello World!'
Text after add_text() is ' '
Text after append_text() is ' '
Text after += is ' Hello World!'
```

### Steps to reproduce

1. Download the minimal reproduction project
2. Run the current scene
3. Look at the output in the console, you will notice new_richtextlabel.text is empty
4. Look at the new_richtextlabel in the Remote Scene view and you'll notice it's text box is empty

### Minimal reproduction project (MRP)

[RichTextLabel_AddText_MRP.zip](https://github.com/user-attachments/files/16336844/RichTextLabel_AddText_MRP.zip)