[Xiaomi Poco X3 Pro] waarten:
I tried debugging the app. However, as I couldn't get the source code I had to work with smali (for everything there is a first time).

My backup phone that doesn't have any problems is a Sony Z5 compact (running LineageOS 15.1). The app/NFC works as well on my wife's Xiaomi Note 8 Pro (running stock).

Below is the copied output of the java.io.IOException stacktrace value from debugging in Android Studio.

Does anybody have an idea how this can be fixed in this rom? Or what should be checked next?

java.io.IOException stackTrace = {StackTraceElement[43]@20851}
0 = {StackTraceElement@20910} "android.nfc.tech.BasicTagTechnology.connect(BasicTagTechnology.java:88)"
1 = {StackTraceElement@20911} "android.nfc.tech.NfcV.connect(NfcV.java:35)"
2 = {StackTraceElement@20912} "tr$a.connect(DefaultNfcOsFunctions.java:1)"
3 = {StackTraceElement@20913} "qta$a.connect(WrongLengthErrorNfcOsFunctions.java:1)"
4 = {StackTraceElement@20914} "ota$a.connect(LoggingNfcOsFunctions.java:3)"
5 = {StackTraceElement@20915} "kta$a.connect(FixedTransceiveTimeoutNfcOsFuntions.java:1)"
6 = {StackTraceElement@20916} "Xsa$a.connect(AnalyticsNfcOsFunctions.java:5)"
7 = {StackTraceElement@20917} "yr.a(DefaultNfcRfModule.java:11)"
8 = {StackTraceElement@20918} "yr.a(DefaultNfcRfModule.java:1)"
9 = {StackTraceElement@20919} "dwa$a.a(SensorModule.java:5)"
10 = {StackTraceElement@20920} "fEa.a(ScanSensorFragment.java:84)"
11 = {StackTraceElement@20921} "zDa.apply(Unknown Source:10)"
12 = {StackTraceElement@20922} "yRa$a.t(ObservableMap.java:4)"
13 = {StackTraceElement@20923} "jRa$a.t(ObservableDoOnEach.java:3)"
14 = {StackTraceElement@20924} "jRa$a.t(ObservableDoOnEach.java:3)"
15 = {StackTraceElement@20925} "jRa$a.t(ObservableDoOnEach.java:3)"
16 = {StackTraceElement@20926} "GRa.run(ObservableScalarXMap.java:2)"
17 = {StackTraceElement@20927} "xRa.c(ObservableJust.java:3)"
18 = {StackTraceElement@20928} "TPa.a(Observable.java:74)"
19 = {StackTraceElement@20929} "gRa.c(ObservableDefer.java:2)"
20 = {StackTraceElement@20930} "TPa.a(Observable.java:74)"
21 = {StackTraceElement@20931} "jRa.c(ObservableDoOnEach.java:1)"
22 = {StackTraceElement@20932} "TPa.a(Observable.java:74)"
23 = {StackTraceElement@20933} "jRa.c(ObservableDoOnEach.java:1)"
24 = {StackTraceElement@20934} "TPa.a(Observable.java:74)"
25 = {StackTraceElement@20935} "jRa.c(ObservableDoOnEach.java:1)"
26 = {StackTraceElement@20936} "TPa.a(Observable.java:74)"
27 = {StackTraceElement@20937} "yRa.c(ObservableMap.java:1)"
28 = {StackTraceElement@20938} "TPa.a(Observable.java:74)"
29 = {StackTraceElement@20939} "jRa.c(ObservableDoOnEach.java:1)"
30 = {StackTraceElement@20940} "TPa.a(Observable.java:74)"
31 = {StackTraceElement@20941} "yRa.c(ObservableMap.java:1)"
32 = {StackTraceElement@20942} "TPa.a(Observable.java:74)"
33 = {StackTraceElement@20943} "jRa.c(ObservableDoOnEach.java:1)"
34 = {StackTraceElement@20944} "TPa.a(Observable.java:74)"
35 = {StackTraceElement@20945} "LRa$b.run(ObservableSubscribeOn.java:1)"
36 = {StackTraceElement@20946} "ZPa$a.run(Scheduler.java:2)"
37 = {StackTraceElement@20947} "hSa.call(ScheduledRunnable.java:2)"
38 = {StackTraceElement@20948} "java.util.concurrent.FutureTask.run(FutureTask.java:266)"
39 = {StackTraceElement@20949} "java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)"
40 = {StackTraceElement@20950} "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)"
41 = {StackTraceElement@20951} "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)"
42 = {StackTraceElement@20952} "java.lang.Thread.run(Thread.java:923)"