Real causes
Undersized supply run to that room, inadequate return path (door closed, no jump duct, or no upstairs return), duct leakage in the attic, or an oversized system that short-cycles before it can pull heat off the upstairs.
The fixes, in order
Measure delivered CFM at the register. If it's low, look at the branch run and takeoff. If airflow is fine and the room still overheats, look at return path and duct leakage. Zoning or a mini-split is a legitimate last resort — after airflow is right.