In fact, MTX_DEF is cheaper to acquire than MTX_SPIN on most hardware, because spin locks disable interrupts as well as use an atomic operation, whereas default mutexes only use an atomic operation.
FreeBSD default mutexes are "adaptive" meaning that they will also spin when contending a lock if the thread holding the lock is currently in execution on another CPU. If the thread holding the lock yields or is preempted, then another thread trying to acquire the lock will also yield, rather than spinning waiting for a non-running thread. As a result, default mutexes (and similar lock classes, such as rwlocks or rmlocks) are almost always preferred to spin mutexes.
The only exceptions are in the scheduler, and when in or synchronizing with "fast" interrupt handlers, which borrow the execution context of an existing kernel thread, and require interrupts to be disabled to avoid deadlock.