Lesson learned here: use high-density foam when making furniture. It's expensive, with 4" foam usually running $69.99 a yard, but JoAnn Fabrics is pretty much always offering a 50% off coupon and I've made a point to never buy foam without one!
So, as much as I was groaning inwardly at the thought of redoing the top, I wanted it to be done "right." My point in making these wasn't to just have any old x-bench in my living room. I wanted the benches to look professionally done and the way they looked and felt kept nagging at me.
So I removed the tops from the x-leg base, pulled out all the nailheads, removed the fabric, batting, and foam, and found myself back at a bare square of plywood. The bonus for you is that I'm now able to offer you a much more detailed tutorial on how to upholster the bench tops than what I originally provided.
Use an electric knife to cut high density foam exactly the same size as your plywood top.
Pull the batting in the center of one of the sides snugly up and over the foam and plywood and use a staple gun to staple it to the plywood. Pull the batting snugly and staple on either side of the center staple, a few inches apart. Repeat for an adjacent side.
For the corners, wrap one side across the corner like you did with batting and staple in place.
Play with folding the fabric until you get a straight smooth edge. Note where the edges will be and trim excess fabric. Be sure not to cut so much that you expose a raw edge, but take away a good bit of the extra so you aren't left with lumpy corners.
With excess fabric cut away, tuck the edge with the staple under and tuck and fold the other edge over top and pull tightly to the underside of the plywood and staple. Staple any loose fabric flat on the bottom.
Repeat with the remaining corners and end by stapling any fabric left still loose to the underside of the plywood.
Run a hot iron over the folded edges to make sure they are as flat as can be. You can leave them as is from here, however, when someone sits on the bench the edge will bunch.
To solve this issue, I ran a line of fabric glue inside the fold and held it in place for a minute to set, then let fully dry.
I reattached my upholstered seat to the X-leg base using wood screws.
For the nailheads, I used a ruler to mark dots in a straight line every 1/2" and then hammered them in one at a time. High quality nailheads are important because they're less likely to warp and go crooked. I've had good luck with ones from Lowes and DIY Upholstery Supply.
We're so enjoying using these as extra seating and as footrests in our living room. I'm certainly happy to call this project "done!" but equally as happy to have taken the time to fix the things that were bothering me about the originals.