I usually run my unconstrained model first and then decide whether or not I need to add constraints. I am more likely to do this in a commercial study than in an academic paper, because academics usually understand that reversals can sometimes occur.
For covariates, the consensus seems to be that if you have really good covariates, ones that are strongly related to differences in choice behavior, that those can be valuable to include in HB models. More general variables, like the general demographics you describe, haven't often been found to improve on the ability HB already has to find heterogeneity, so we typically do not include them. I don't have an easy suggestion if you do try to include them but to run the model with and without a constraint and then see if the utilities are more significantly different with the covariate than without it - but this is an effort that sounds like it is going to take you a really long time, and I suspect you'll find that it doesn't have value commensurate with the time you'll be investing.