given that a map can have various tile layers, each with their own width, height and grid size it makes more sense to me for the map to be defined in a simple width and height in pixels and each tile layer to have it’s own number of rows, columns, and tile size.
In my level I had a base terrain with about 50 smaller layers where each layer is a different coin spawn configuration. the base terrain is 40x40, but each coin layout is around 13x14 (as in, all of them affect the same 13x14 area on the map). I recently went into the .tmx (in vsCode) and changed all of the coin layers from 40x40 to 13x14 and chopped off the zeroes using a regexp and the .tmx went from 153kb down to 28kb.
when I open my level in tiled, it looks exactly the same, in fact each 13x14 layer still has a 40x40 grid even though the xml says it’s 13x14.
Tl;dr: I suggest giving each tile layer its own dimensions rather than copying the map, since the xml allows it anyways, and I recommend defining a map’s dimensions in pixels