For teaching / learning it's hard to beat Quartus Prime Lite - the virtual JTAG infrastructure (for SignalTap logic analyzer) is much better than the other options. (It's easy to create custom virtual JTAG modules to control and read data from a running design, and these will happily coexist with the logic analyzer.)
Dev board wise QMTech on AliExpress have some really nice entry-level dev boards - the Cyclone 10CL025 board, the daughter board and a clone USB-Blaster cable for programming would weigh in at well under £100.
Terasic have a bunch of different Intel/Altera dev boards, the cheapest being the DE0-Nano - personally I like the DE10-lite, but there are more modern options for those with deeper pockets.
The Tang Nano 20k is a solid and affordable choice for a Gowin chip (though be aware that this particular chip's PLLs are a bit limited and its block RAMs don't have byte enables). The JTAG stuff works but isn't anywhere near as advanced as Intel's.
For Lattice ECP5 there are several options - and these chips are well-supported by yosys/nextpnr and oss-cad-suite in general.
I quite like the IceSugar-Pro ECP5-based board and associated breakout board - but it has a quirky built-in JTAG adapter which isn't supported by the Lattice toolchain, so you'll have to use OpenOCD or OpenFPGALoader to program it, and you can't use the vendor-supplied internal logic analyzer. Its FPGA is well supported by oss-cad-suite, though, which is a big plus.
IcePi-Zero is also well worth considering, available from CrowdSupply.
ULX3S is very nice, too - but as far as I can see it's only available for pre-order on the next production run.
Thank you for your reply! I did a bit of research and, since I do want to use quite some peripherals, I have gone for the ULX3S. A big factor here was documentation and availability; If I would have been able to find a MiSTer Pi I might have gone for that instead.
I now bought a ULX3S on a whim, and will at least evaluate how usable it is for my purposes. It will take quite some time to familiarize myself with a new toolchain, which kinda sucks. One advantage of these big proprietary IDEs is that they integrate a lot of functionality into one "unit" (as far as the user/programmer is concerned), instead of having to install a lot of separate tools.
For the course, I am now considering to "support" an AMD board, an Intel one, and a Lattice one.