Shortcode and permissions for WordPress publicly searchable member directory
This problem turned out to be a Javascript error in the console:

SyntaxError: expected expression, got '&lt;' on civicrm:1

A plugin must have been dumping in Javascript in the header or footer, and once it was deactivated, CiviCRM could render the search results in Javascript.