Elšnik joined the Derby County academy in 2015 at the age of 17.[4] During his first season, he initially played for the under-18 team before progressing to the under-21 squad. At the end of the 2015–16 season, he was named the club's Scholar of the Year.[5] Shortly after signing a new three-year contract with the club in August 2016,[6] he made his first team debut as a substitute against Carlisle United in the EFL Cup, scoring twice in Derby's penalty shoot-out win.[7] He was released by Derby in July 2019.[8]
Loans to Swindon Town, Mansfield Town and Northampton Town
On 31 August 2017, Elšnik signed on a season-long loan for Swindon Town along with Derby teammate Kellan Gordon.[9] Two days later, Elšnik made his Swindon debut during their 4–1 home defeat against Barnet, featuring for the entire 90 minutes.[10]
On 31 August 2018, Elšnik signed on a season-long loan for Mansfield Town.[11] Four days later, Elšnik made his Mansfield debut during their 2–1 away win against Lincoln City in the EFL Trophy, featuring for the entire 90 minutes.[12] On 30 October 2018, Elšnik was brought back into the Mansfield side, starting the game against Crewe Alexandra. He scored two goals ensuring a 3–0 win for Mansfield.[13]
In January 2019, Mansfield activated a clause to terminate the loan spell during the winter transfer window.[14] Shortly after his return to Derby, he was loaned to Northampton Town until the end of the season.[15]
Olimpija Ljubljana
In January 2020, Elšnik returned to his home country and signed with Olimpija Ljubljana.[16] In December 2020, after extending his contract with the club, president Milan Mandarić appointed him as the team captain at only 22 years of age.[17] With Olimpija, Elšnik won the Slovenian league title in the 2022–23 season and the Slovenian Cup in the 2020–21 and 2022–23 seasons.