Quick update on this thread from me (the OP).
I've spent the last few weeks diving into this topic a bit further. I have an application in mind which I'd like to use as an introduction to FPGAs, for which I'll also need a software component. I'm currently leaning towards a Zynq SoC, as I can build (using existing IP where possible) the data path in hardware, and use one of the Cortex A9 cores to implement the control/configuration path with FreeRTOS. I don't have an immediate need for the second Cortex A9 core, but the option of implementing an SMP FreeRTOS configuration across both cores, or a Linux OS on the second core at some point in the future is quite appealing.
The possible pitfall I have with the above at the moment is the implementation of certain protocols/interfaces in PL, namely CAN (2.0B and ideally FD) and possibly RS-232/RS-485 and Ethernet, as I'd likely have to try my luck with open source IP cores (e.g. OpenCores.org) where native Xilinx cores aren't available. I could easily implement these in software, but then I'd have some of the data path in PL and some in PS which isn't exactly what I'm after.
I think I need to get a Zynq development board and make a start one way or the other!