Some questions on implementing 802.11r (or any other good wifi roaming)

So I have 3 routers, and all of them have 802.11r (FT enabled). And also i get those messages in log:

Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: event 0 notification
Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: event 1 notification
Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: sending 1/4 msg of 4-Way Handshake
Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: received EAPOL-Key frame (2/4 Pairwise)
Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: sending 3/4 msg of 4-Way Handshake
Mon Sep 25 12:18:17 2023 daemon.debug hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: received EAPOL-Key frame (4/4 Pairwise)
Mon Sep 25 12:18:17 2023 daemon.info hostapd: wlan1: STA ae:af:75:a7:84:49 WPA: pairwise key handshake completed (RSN)
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: event 0 notification
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: event 1 notification
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: sending 1/4 msg of 4-Way Handshake
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: received EAPOL-Key frame (2/4 Pairwise)
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: sending 3/4 msg of 4-Way Handshake
Mon Sep 25 12:21:44 2023 daemon.debug hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: received EAPOL-Key frame (4/4 Pairwise)
Mon Sep 25 12:21:44 2023 daemon.info hostapd: wlan1: STA bc:d0:74:1c:ee:7e WPA: pairwise key handshake completed (RSN)
Mon Sep 25 12:40:54 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: event 6 notification
Mon Sep 25 12:40:54 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: FT authentication already completed - do not start 4-way handshake
Mon Sep 25 12:43:13 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: event 6 notification
Mon Sep 25 12:43:13 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: FT authentication already completed - do not start 4-way handshake
Mon Sep 25 12:47:13 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: event 6 notification
Mon Sep 25 12:47:13 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: FT authentication already completed - do not start 4-way handshake
Mon Sep 25 13:00:48 2023 daemon.debug hostapd: wlan1: STA 12:7a:34:7b:e0:48 WPA: event 6 notification
Mon Sep 25 13:00:48 2023 daemon.debug hostapd: wlan1: STA 12:7a:34:7b:e0:48 WPA: FT authentication already completed - do not start 4-way handshake
Mon Sep 25 13:07:32 2023 daemon.debug hostapd: wlan1: STA 5e:9f:f7:42:0a:f1 WPA: event 6 notification

All APs are on different channels, all have different NAS ID, but same Mobility domain.
Now it still is not working great.

Am using "Network Cell Info Lite" app on Samsung to measure signal strength and switches. When moving from AP-1 to AP-2 for example signal quality may fall to -75 dB and it still does not switch. It can take a good minute after it recognizes there is another AP with much better signal.

Note: all my APs are in some way overlapping each other's area, if they were not I would probably not need any roaming at all. So is it all I can do or there is someway to make devices switch APs faster.

Just reducing the signal strength to reduce area of overlaps is not best way, because it then does not reach some smaller areas where you cannot install APs.

Imho the best wise algorithm would be to somehow make devices seek for another AP when current signal drops below -60dB (becaus there is always a closer AP in this situation).