Well, I figured it out. It was because the teeth were parented underneath the mesh, so it got confused on what to smooth. Unparenting the teeth, and instead using a parent constraint to the body worked.