After some research, I've found a workable solution that is fairly efficient. Essentially, the easiest way is to use the Alteryx Publish to Tableau Server tool. If you are building workbooks for the first time, then you publish the data up to server using Alteryx early in the development of your workbook and all should be fine. However, if you want to start publishing an existing workbook, refreshing the data in Alteryx is likely to break all your calculated fields, so you need to fix these after you upload the data:
1. Download the Alteryx 'Publish to Server' tool: Publish to Tableau Server Tool
2. Publish the existing workbook to Tableau Server. For the data file, select 'publish separately'.
3. Use Alteryx to refresh the data. Set the connection so that it will use the same filename for the data, in the same part of Tableau Server. This will overwrite the data.
4. At this point, any calculated fields in the workbook will break. The workbook itself will also be linked directly to the data file on Server instead of your local version.
5. Redo the calculated fields. This is a bit of a chore but only needs doing once.
6. Republish the workbook.