I think you could move the p5 forward, so that the free space is just after p6, and then grow p6?
I am not entirely sure this will not require fixing grub afterwards but I think it should be OK.
I have just repartitioned my laptop and everything was fine, but I did not move my Garuda partition, only shrinked it (and moved home to its own partition).
One can surely resize the btrfs filesystem while mounted, and this (*) indicates how to do the partition too, but without a real need (or a test system I can happily wreck) I'd rather do it offline.
edit: that does not apply to this case though, as there isn't enough unallocated space to duplicate the booted partition.
But the Garuda partition is rather full, indeed I'd rather shrink the ntfs that has more free space (if the currently unallocated ~20GB are not enough, or to avoid moving p5).
As for not being able to resize Garuda from Ubuntu, again I'm not sure, but possibly it has not btrfs installed so it can't resize the filesystem within (it shouldn't have problem moving the whole partition into the unallocated space though). Better do it from the Garuda live USB just to play safe.