You can add overlays with the
invisible property to everything except headlines and drawers (see overlay properties section of the manual). In the code below I use the org element api to traverse the org file and add overlays with the
invisible property to everything except headlines and drawers. I put the relevant code in the function
+org/toggle-hide-all-except-headlines-and-drawers (aptly named if a bit verbose) so that you could toggle this because I figure you'll likely want to go back and forth.
One caveat is that when you fold a heading the folding looks scrunched up (there's no separation between headings). But I think this is a separate problem having to do with how org implements overlays. In any case, in my tests everything was hidden except headlines and properties.
(defvar +org-hide-all-except-headlines-and-drawers nil)
(defun +org/toggle-hide-all-except-headlines-and-drawers (&optional reveal)
(lambda (it) (member it '(headline property-drawer drawer section node-property)))
(let ((beg (org-element-property :begin elt))
(end (org-element-property :end elt)))
(overlay-put (make-overlay beg end) 'invisible t)
(remove-overlays beg end 'invisible t))))))