Whoa, this is really neat!! From an API perspective Ticket & pawn look superficially similar to RefMut & RefCell::borrow_mut.
Have you considered an ACP? I'm not sure what color I'd paint that bikeshed, maybe Cell::borrow[_mut] and CellRef[Mut]? One downside though is that it is surprising for a "borrow" method to require a T: Default bound.
EDIT: Maybe Cell::take_ref and TakeRef are better names? There is one potential footgun with the API which is that you can call it twice, but maybe that could be partially mitigated by accepting a &mut &Cell<T>?