If you think cannons are even REMOTELY good in modern war thunder, you are either using the three cherry picked examples (Hispanos, AN/M2 20mm or the 30mm russians).
.50s are consistently the best and most reliable air to air weapon outside of proper jets (7.7+) and are notorious for overperforming for YEARS. In my and many, many, many peoples experiences, .50s consistently one shot every fighter in the sky, set fires easier than any other weapon, and do more crits/severe damage than anything else. Meanwhile, 20mm does almost nothing. Just tonight I had minengeshos score ELEVEN “hits” on an F4U-1, and i got hit exactly one time as i was running to the base, out of ammo, from extreme range (1.3km). Instant red engine, which blacked out within 30 seconds.
The match before that, i used my entire 150 round 20mm belt on a B-25, ignited both of his engines, killed half his gunners, broke his tail into four pieces, he hit me ONCE as i pulled off, my tail lost a piece and i bricked into the ground. HE FLEW HOME AND REPAIRED.
Few days ago, i set a P-47 on fire THREE TIMES and i still went down before him because guess what? I got clipped by a sherman .50 as we were manuevering over 1km above the battle. Set me on fire, which i did the exact “put it out” method, it continued to burn after my fuel was EMPTY.
So yea. The buff doesnt need to go to the planes that are already consistently one shotting targets from 1km ranges and reliably tanking repeated 20mm HEF hits (and 23mm, and 13mm, and 12.7mm if you count my russian and german plane experiences alongside my swedish ones.)
Also PS, i have 6.7 in USA. one of my most played planes is the premium 5.7 P-47, and im confirming from all three sides that .50s are severely overperforming and 20mm cannons are underperforming (except the AN/M2s and Hispanos, conveniently).