Exporting extrusion plus a JSON manifest of the original content rectangles is the right pair. The padded rect is what the sampler needs and the content rect is what the placement code needs, and most exporters hand you only one of the two.
Two things worth a line in the readme if they are not in there already.
Block compression. If the atlas ever gets compressed with BC or DXT, the 4x4 blocks do not care about your gaps, so a tile whose padded pitch is not a multiple of 4 can still bleed across a block boundary with extrusion turned on. Landing tile size plus gap plus twice the extrusion on a multiple of 4 removes that whole class of bug.
Mips. One pixel of extrusion holds at mip 0 and has failed by mip 2, so a user with mipmaps on needs the extrusion to grow with the deepest level they sample.