Broken sound when connected to bluetooth earphones on rpi4

Bluetooth earphones don’t work when connected to my raspberry pi 4 running manjaro (both stable and unstable channel). The sound is broken. This problem doesn’t happen on other distros on rpi4 or on manjaro x86_64, however.

You gave no info about your system.

kernel version installed
Contents /boot/cmdline.txt
Output of systemctl --type=service

I installed manjaro arm minimal for rpi4 and manually installed gnome. Most system configs are kept default. My sound server is pulseaudio.
Note that this promlem also happen on the Manjaro image for rpi4 with KDE pre-installed.

output of uname -a
Linux pidesktop 5.10.36-1-MANJARO-ARM #1 SMP PREEMPT Thu May 13 17:44:01 UTC 2021 aarch64 GNU/Linux

root=PARTUUID=6e694e14-02 rw rootwait console=serial0,115200 console=tty3 selinux=0 quiet splash plymouth.ignore-serial-consoles smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=serial0,115200 elevator=noop usbhid.mousepoll=8 snd-bcm2835.enable_compat_alsa=0 audit=0

output of systemctl --type=service
accounts-daemon.service loaded active running Accounts Service
attach-bluetooth.service loaded active running Attach Bluetooth Adapter Raspberry Pi devices
bluetooth.service loaded active running Bluetooth service
colord.service loaded active running Manage, Install and Generate Color Profiles
dbus.service loaded active running D-Bus System Message Bus
dhcpcd.service loaded active running dhcpcd on all interfaces
gdm.service loaded active running GNOME Display Manager
haveged.service loaded active running Entropy Daemon based on the HAVEGE algorithm
kmod-static-nodes.service loaded active exited Create list of static device nodes for the current kernel
ldconfig.service loaded active exited Rebuild Dynamic Linker Cache
lvm2-monitor.service loaded active exited Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
NetworkManager.service loaded active running Network Manager
plymouth-quit-wait.service loaded active exited Hold until boot process finishes up
plymouth-quit.service loaded active exited Terminate Plymouth Boot Screen
plymouth-read-write.service loaded active exited Tell Plymouth To Write Out Runtime Data
plymouth-start.service loaded active exited Show Plymouth Boot Screen
polkit.service loaded active running Authorization Manager
rtkit-daemon.service loaded active running RealtimeKit Scheduling Policy Service
sshd.service loaded active running OpenSSH Daemon
stop-dmesg.service loaded active exited Stop dmesg flooding in tty
systemd-homed-activate.service loaded active exited Home Area Activation
systemd-homed.service loaded active running Home Area Manager
systemd-journal-catalog-update.service loaded active exited Rebuild Journal Catalog
systemd-journal-flush.service loaded active exited Flush Journal to Persistent Storage
systemd-journald.service loaded active running Journal Service
systemd-logind.service loaded active running User Login Management
systemd-modules-load.service loaded active exited Load Kernel Modules
systemd-networkd.service loaded active running Network Service
systemd-random-seed.service loaded active exited Load/Save Random Seed
systemd-remount-fs.service loaded active exited Remount Root and Kernel File Systems
systemd-resolved.service loaded active running Network Name Resolution
systemd-sysctl.service loaded active exited Apply Kernel Variables
systemd-sysusers.service loaded active exited Create System Users
systemd-timesyncd.service loaded active running Network Time Synchronization
systemd-tmpfiles-setup-dev.service loaded active exited Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service loaded active exited Create Volatile Files and Directories
systemd-udev-trigger.service loaded active exited Coldplug All udev Devices
systemd-udevd.service loaded active running Rule-based Manager for Device Events and Files
systemd-update-done.service loaded active exited Update is Completed
systemd-update-utmp.service loaded active exited Update UTMP about System Boot/Shutdown
systemd-user-sessions.service loaded active exited Permit User Sessions
systemd-userdbd.service loaded active running User Database Manager
systemd-vconsole-setup.service loaded active exited Setup Virtual Console
udisks2.service loaded active running Disk Manager
upower.service loaded active running Daemon for power management
user-runtime-dir@1000.service loaded active exited User Runtime Directory /run/user/1000
user@1000.service loaded active running User Manager for UID 1000
wpa_supplicant.service loaded active running WPA supplicant
zswap-arm.service loaded active exited Zram-based swap (compressed RAM block devices)

LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
49 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use ‘systemctl list-unit-files’.