A Basic Unpivot
=LET(table,A1:D5,
h,TAKE(table,1),
d,DROP(table,1),
srl,TAKE(d,,1),
scl,DROP(h,,1),
sv,DROP(d,,1),
drl,TOCOL(IF(SEQUENCE(,COLUMNS(scl)),srl)),
dcl,TOCOL(IF(SEQUENCE(ROWS(srl)),scl)),
dv,TOCOL(sv),
r,HSTACK(drl,dcl,dv),
r)
- Replace the bottom-most
r with any other variable to see what it holds.

After removing the redundant variables h, sv, and r:
=LET(table,A1:D5,
d,DROP(table,1),
srl,TAKE(d,,1),
scl,DROP(TAKE(table,1),,1),
drl,TOCOL(IF(SEQUENCE(,COLUMNS(scl)),srl)),
dcl,TOCOL(IF(SEQUENCE(ROWS(srl)),scl)),
dv,TOCOL(DROP(d,,1)),
HSTACK(drl,dcl,dv))
Further removing the variables drl, dcl, and dv:
=LET(table,A1:D5,
d,DROP(table,1),
srl,TAKE(d,,1),
scl,DROP(TAKE(table,1),,1),
HSTACK(TOCOL(IF(SEQUENCE(,COLUMNS(scl)),srl)),
TOCOL(IF(SEQUENCE(ROWS(srl)),scl)),
TOCOL(DROP(d,,1))))
or the same:
=LET(
table,A1:D5,
d,DROP(table,1),
srl,TAKE(d,,1),
scl,DROP(TAKE(table,1),,1),
HSTACK(
TOCOL(IF(SEQUENCE(,COLUMNS(scl)),srl)),
TOCOL(IF(SEQUENCE(ROWS(srl)),scl)),
TOCOL(DROP(d,,1))
)
)