Building on discussions/concerns about speed/limits formed around other answers, maybe the whole issue with speed is the use of LAMBDA()
which essentially iterates a given array. Maybe we can avoid this and the limits of TEXTJOIN()
at the same time. My two cents to counter this:

Formula in B1
:
=LET(x,A1:A4,TOCOL(TEXTAFTER(","&TEXTBEFORE(x&",",",",SEQUENCE(,MAX(LEN(x)-LEN(SUBSTITUTE(x,",",))+1)),,,NA()),",",-1),3))
EDIT: Did some benchmarking against 10000 rows with comma-seperated data == 'a,b,c', meaning splitting and stacking would result in 30000 rows of data. For this test I used this source-code where I'd tell excel to calculate manually and wait while Excel is busy:
I tried benchmarking against 100000 rows which proven too much to handle for LAMBDA()
related functions causing Excel to freeze/crash. It worked for the above mentioned function in 0.59 seconds which supprised me tbh.
I also found there is just a slight, almost unnoticable/neglectable, setback when simplifying the above to:
=LET(x,A1:A4,TOCOL(TEXTAFTER(","&TEXTBEFORE(x&",",",",SEQUENCE(,MAX(LEN(x))),,,NA()),",",-1),3))
Or even, as per @DavidLeal:
=LET(x,A1:A4,TOCOL(TEXTBEFORE(TEXTAFTER(","&x,",",SEQUENCE(,MAX(LEN(x))))&",",","),3))