Making your btrfs 100% full is strongly not recommended. And you will not be able to add this space to sda4 anyway (at least, if partitions are located on disk in the same order) - you would need to move data to start of free space after destroying sda4 and creating new large partition that starts at the beginning of new free space. Some software supports it. It would be more easy if you had LVM on sda4.
You can shrink btrfs online and I was able to change partition size and make system recognize it online, without umount or reboot, as well; I won’t claim it always works though.
Looks fine. Thanks for the confirming information.
Just a few remarks
Like @avidjaar already said. This is not an easy one. You should really be familiar with partitioning, file systems (sorry to say, but some people do not even know the difference) and what happens on a disk when you start typing commando’s.
And such a small root file system with btrfs is, as said also a problem. At least switch snapshotting off (and delete all existing snapshots before you start changing things). On ext4, 20GB is sufficient for the root file system, thus I assume that a btrfs without snapshots will be the same.
While you have no separate file system for /home here, I assume you have it either on another disk, or the contents is almost none.
A completely superfluous remark: make an extra backup of all in /data, all other user/application data in that resides in the root directory (/home ?) and of /etc (it is helpful when you can check old system config files when you have to reinstall).
That would be like removing all walls in a house and building new ones without making any furniture unusable and still living in it with the whole family.
Just accept that in software, like in hardware, you can not change some things while still using it.
The partitioning you need is really something you decide with insight in the future. And that is not always easy if practical at all.