Husk, 1111 9 bytes
-2 thanks to @BMO!
↑mS(d+d←)dNmSöd+d←dḣ
I'm not very good at Husk... I'm sure there's a way to shorten this somehow.Try it online!
Explanation
↑m map( flip take$
m map
S( ) )
S (\n-> ) <*>
ö d ( .). . fromDecimal$ .
d fromDecimal
+ (++)
d ++
d toDecimal
← toDecimal
← (+1)
d (n-1)
d toDecimal
toDecimal n
N .
ḣ [1 (\n->[1..]n])
↑mS(d+d←)dN mSöd+d←dḣ flip take$mapmap(\n->fromDecimal$toDecimal(n-1fromDecimal.)++toDecimal n.(++)[1.toDecimal.](+1)<*>toDecimal).(\n->[1..n])