The vertical coordinate in stratification frequency requires quite a bit of wrangling, dropping and replacing vertical coordinates. This part could be re-written to be simpler and more clear. I hope @dcherian could help with this.
The recombined resulting DataArray is on vertical w-points, as it should be, but only the inner points are defined. This will make it difficult to work well with other ROMS DataArrays that are defined on the 'outer' vertical points by default. It would be better to extrapolate values to the surface and bottom, or replace these with boundary values (i.e., zero at the bottom).