Bullets dont spawn properly if I transition to the scene but work fine otherwise

Godot Version
4.2.1

Question

For some reason when I transition to my battle scene from another scene, the bullets spawn in the top left corner. When i test my scene without transitioning to it it will spawn from the main enemy like it should. Your help is greatly appreciated! Here are videos below to show what I mean and my code for the enemy that spawns bullets:

Video of Bullets spawning in top left after scene transition:

Video of Bullets working properly without scene transition:

Bullet code I am using:

extends Node2D

const bullet_scene = preload(“res://scenes/Bullet.tscn”)
@onready var shoot_timer = $ShootTimer
@onready var rotater = $Rotater

const rotate_speed = 55
const shoot_timer_wait_time = 0.5
const spawn_point_count = 10
const radius = 20

func _ready():

$AnimatedSprite2D.play("idle")

func _process(delta):

if global.combat == true: 
	global.combat = false
	_combat()
var new_rotation = rotater.rotation_degrees + rotate_speed * delta
rotater.rotation_degrees = fmod(new_rotation, 360)

func _combat():

var step = 2 * PI / spawn_point_count

for i in range(spawn_point_count):
	var spawn_point = Node2D.new()
	var pos = Vector2(radius, 0).rotated(step * i)
	spawn_point.position = pos
	spawn_point.rotation = pos.angle()
	rotater.add_child(spawn_point)
	
shoot_timer.wait_time = shoot_timer_wait_time
shoot_timer.start()
await get_tree().create_timer(5).timeout
shoot_timer.stop()

func _on_ShootTimer_timeout() → void:

for s in rotater.get_children():
	var bullet = bullet_scene.instantiate()
	get_tree().root.add_child(bullet)
	bullet.position = s.global_position
	bullet.rotation = s.global_rotation