Upon digging further into this, I believe I would be able to shed some lights here.
The reason why you're not seeing property hs_email_optout_8324033 is likely because on the first page of the return result (first 100 contacts that you retrieved), there's no contact with this property set (not even set with a "" value).
As such, the property isn't showing up.
If you'd like to return property even if it's null, you may want to explore the option of using CRM API | Contacts:
GET crm/v3/objects/contacts?limit=10&properties=hs_email_optout_8324033%2Cbnid_%2Cemail%2Chs_content_membership_status%2Chs_email_optout%2Chs_email_optout_6236625%2Chs_email_optout_7778519%2Chs_email_optout_6236646&archived=false&hapikey=yourHapikey
This should return all properties stated on the query parameter for each contact records even if the property is null.
Upon digging further into this, I believe I would be able to shed some lights here.
The reason why you're not seeing property hs_email_optout_8324033 is likely because on the first page of the return result (first 100 contacts that you retrieved), there's no contact with this property set (not even set with a "" value).
As such, the property isn't showing up.
If you'd like to return property even if it's null, you may want to explore the option of using CRM API | Contacts:
GET crm/v3/objects/contacts?limit=10&properties=hs_email_optout_8324033%2Cbnid_%2Cemail%2Chs_content_membership_status%2Chs_email_optout%2Chs_email_optout_6236625%2Chs_email_optout_7778519%2Chs_email_optout_6236646&archived=false&hapikey=yourHapikey
This should return all properties stated on the query parameter for each contact records even if the property is null.
Yes, you were right. The count was too low to get any data out of field hs_email_optout_8324033. I expanded the count to 10000 and this field finally shows up.