Table-Valued parameters always have an implicit value of an empty table. So you can actually call that procedure without any parameters and it would execute but the table would be empty.
So it doesn’t really make sense to label a table-value parameter with a default value. Remove the “=null”, check the table contents, and you should be good to go.