You can also protect from failed evaluation and nil pointer errors by using parentheses () to wrap each level:
()
{{ (((.Values.service).container).SubBloc).myKey) | default "mydefault" }}