Recommend inspecting how openSUSE supports what you are asking, which has made BTRFS it's default filesystem for about 6 years now but finally made /home a subvolume of the root volume only in the current LEAP 15.2 release. You can ask any questions in the Technical Help Forums
Nice article. But depending on the app you install(your Wildfly example), because it's located in an upper level directory in /opt, you may want to also consider the ramifications of snapshots and possibly want to exclude.
Now that you have a taste of Fedora, I'd recommend you try openSUSE with it's Snapper snapshot management and YaST GUI management tools including support for BTRFS.
The same YaST volume management tools supports both LVM and BTRFS volumes.
The YaST Partitioner supports all filesystems including BTRFS.
The YaST User and Groups module does everything you describe creating a new User including creating a /home subvolume and a member of default groups or any customization you want, security policy, etc.
Recommend inspecting how openSUSE supports what you are asking, which has made BTRFS it's default filesystem for about 6 years now but finally made /home a subvolume of the root volume only in the current LEAP 15.2 release. You can ask any questions in the Technical Help Forums