Ended up applying a natural sort-aware collation to the column. Works in all my tests exactly as the native Version class.
Version