Andrew, the Crosstab option is the only way to NOT show the hidden columns. CSV will show ALL the data, regardless of any filtering or what is displayed on the screen in the viz.
Is that not the behavior you see when you choose Crosstab?
Lastly, the linktarget thing controls whether or not the viz opens in a new tab. It has nothing to do with filtering.
Thanks Michael. Adding .csv to the end of the URL exports the "first" worksheet on the dashboard - in my case the hidden worksheet - and only exports the fields on that "first" worksheet.
It might work with FILTERVALUES(<FieldName>) added to the URL, which I was unaware of when first posting this but haven't yet had chance to explore that option properly.
I would suggest using the FILTERVALUES option in URL action to help achieve the desired result. URL?FIELD_NAME=/<FILTERVALUES(Field)>. You might want to enable multiple values. Tableau expects a comma when using URL to filter a field so make sure that is the delimiter.