Okay, I figured out the source of this problem, at least in my case. I'm just not sure yet if it warrants a patch. The problem is that the sortable item did not have any items when it was initiated, and thus no length, which ultimately means it is not considered a horizontal element. I was using drag and drop with this sortable element, so it was empty until the user dragged an item in to it. However, by that time it was too late to consider the element horizontal.
To be more specific, according to the following line of code, no length means the sortable item's "floating" property is never set to true, meaning the item is not horizontal:
this.floating = this.items.length ? o.axis === 'x' || (/left|right/).test(this.items.item.css('float')) || (/inline|table-cell/).test(this.items.item.css('display')) : false;
The solution in my case was to destroy and re-create the sortable every time an item is dropped in to it. This works, but it's not particularly elegant, and the whole issue can be a source of confusion for developers. My suggestion is to move the above line of code from the "_create" method to the "refresh" method, and perhaps clarify in the documentation that the sortable may need to be refreshed when used in conjunction with drag and drop.