KiCad has improved a lot over the last few years, but development is a bit chaotic, and this is quite logical for an open source project such as KiCad. Developers are free to work on any part of KiCad they have an interest in, and this also results in some area’s getting less attention than they should.
One of the gaps in KiCad’s abilities is handling of differential pairs. KiCad does have some basic functions for routing differential pairs and that works quite nicely, but at the moment it still has very little support for editing a differential pair. For all editing functions a differential pair is handled as being two individual tracks. KiCad’s interactive router is good at shoving tracks aside to make room for more tracks and via’s, and when it shoves aside a differential pair, the gap in the pair is not respected. The lack of better handing of differential pairs makes it quite cumbersome to work with these.
On the plus side, there is commercial support available for KiCad from https://www.kipro-pcb.com/ and they also do priority development. You can’t buy many development hours for USD1600 (difference between your USD2000 and a yearly subscription of USD400) Maybe it’s an option to invest more now, and recoup it over the coming years, maybe you can combine it with others interested in the same features. maybe Kipro-PCB is already working on this.
Up to a few years ago development of KiCad was quite slow, and over the last few years development has been accelerating a lot. Kipro is getting more work, donations are increasing, and as a result Wayne Stambaugh announced at last summers KiCon (Or was that during KiCon Asia?) that one or two full time developers have been added to the KiCad development team. As most regulars on this forum, I am a volunteer donating my time to the user forum, and I do not know much about the commercial support part of KiCad. If you want to know more about that, I suggest you contact kipro directly.
I never used altium. I guess what you call “polygon planes” are called zones and rule area’s in KiCad, and their support is quite good. Copper zones can be nested with different priorities and cutout area’s can also be defined in a zone. With rule area’s, copper zones can be modified, or you can use text based rules with them. With the custom rules you can also set up things such as extra wide clearance between net classes belonging to the high voltage part and the other net classes.
KiCad development is very transparent. As an open source project, everything is put in git and you can see the full development history on https://gitlab.com/kicad Currently there are around 1300 open issues, and several hundred issues get created and fixed and closed again each month. Clear bugs and little GUI nuisances and inconsistencies often get fixed within hours to a few weeks (Record I’ve seen was less then half an hour between reporting an issue and a “fix-comitted”). Big and complex issues can linger along for a long time. The differential pair thing I mentioned earlier has been mentioned as early as 2016 for example.
You can have a look at a bunch of selected projects on: https://www.kicad.org/made-with-kicad/ KiCad also has an importer of altium PCB’s and schematic files. (I’m not sure if it directly does projects at the moment) Import is not 100% the same but it is quite good. As a result you can import your own projects into KiCad as a starting point to explore KiCad’s capabilities.