In this article, I want to explore the shortcomings of position: sticky; — specifically how we might be able to think up a creative technique when working with overflows, which causes frustration when working with the native solution.
Yes you can’t have a sticky element inside an overflow:hidden parent. You can have it inside an overflow:scroll parent but the parent would need a fixed height and actually have scrollbars.
In the OPs example removing the overflow:hidden from the td-outer-wrap as you suggest will allow the element to become sticky. The overflow:hidden on that element is unnecessary anyway and seems to be in place to hide the fact that some elements in the header have been oversized. If they are sized correctly the overflow:hidden would not be needed.
Also, you want to swap these orders. You want vendor prefixes first. That way, if the position: sticky is supported, it can be used instead of the vendor prefix version.