Oh made his professional debut in K League 1 with Suwon Samsung Bluewings during the 2019 season, making eleven league appearances.[3] He spent the next two seasons on loan at military club Sangju Sangmu (renamed Gimcheon Sangmu in 2021), where he served his military service.[4] He returned to the Bluewings in the 2022 season and was the club's top scorer with 13 league goals.[3]
Celtic
On 25 January 2023, Oh joined Scottish Premiership club Celtic for an undisclosed fee, reported to be in the region of £2.5 million, signing a five-year contract.[5][6] He was assigned the number 19 shirt.[7]
He made his debut on 29 January 2023, in a league game against Dundee United, replacing Kyogo Furuhashi in the 82nd minute of an eventual 2–0 win.[8] Then, he scored his first goal for the Bhoys on 11 February, in a 5–1 Scottish Cup win over St. Mirren.[9] Oh scored 11 goals during 36 league appearances including six starts, while usually playing as a substitute for main striker Furuhashi.[4] However, he did not get playing time for half a year after Adam Idah came to the team on a loan deal.[10]
Genk
On 14 July 2024, Oh signed a four-year contract with Belgian Pro League club Genk.[11] Oh scored his first goal for Genk in a 4–0 win over Dender on 22 September. He led Genk's 2–1 win by scoring twice, while playing 31 minutes as a substitute in the next Pro League match against Mechelen on 28 September.[4][12]
On 10 October 2024, Oh scored his first international goal during the 2026 FIFA World Cup qualification match against Jordan in a 2–0 win, and netted in a 3-2 win over Iraq later that week in a home qualifier.