can't edit NSTextField in sheet at runtime
It turns out that I haphazardly found the solution, which I will now post for posterity...
The view that gets used as the sheet (NSWindow or NSPanel) needs to have a title bar. As soon as I toggled this in Interface Builder's inspector (Window → Appearance → Title Bar checkbox), I recompiled and the NSTextFields highlighted, tabbed, and accepted input like they would in any other view. Not sure why the title bar makes a difference, but there you have it.
The view does not absolutely have to have a title bar.
See Why NSWindow without styleMask:NSTitledWindowMask can not be keyWindow?
Which states: If you want a titleless window to be able to become a key window, you need to create a subclass of NSWindow and override -canBecomeKeyWindow as follows:
- (BOOL)canBecomeKeyWindow {
return YES;
}
This worked for me.