As noted ArcGIS QuickCapture can be configured to have just a single button. That might be the simplest way to go here.
The iPad itself is probably too big to have easily accessible under the conditions you describe, however, you could use QuickCapture in conjunction with an iPhone (or other small mobile device) strapped to the user's forearm. Then as you're doing your task, you can easily reach and click on the button to record your current location. (Note that the device's battery can drain fast with this approach, as you need to leave the device on, so that the button is readily available to press. We carry an extra battery in this case, and charge the device during breaks to make it through the whole day; and we are using Collector or Survey123 directly, rather than QuickCapture.)
If you just want a "button" -- AND, you can access WiFi where you are, rather than Bluetooth -- then another approach to consider is using an Amazon IoT Button. (Maybe you have a cellular iPad that can serve as a hotspot? Maybe you are already carrying a separate WiFi hotspot to provide connectivity for your iPad?) When pressed, the button's Lamda function runs, utilizing the ArcGIS API for Python (you could also leverage the ArcGIS REST API) to record information in ArcGIS.
Meanwhile, your iPad is running Collector with a Location Tracking layer. (Note that I do not believe Location Tracking layers are supported in the new Collector yet, so we have had to stick with Collector Classic for this specific purpose for now; you can run both side by side on your device.)
So when the button is pressed, the code that is run in the cloud grabs the most recent record in the location tracking layer, and appends it to another feature.
Your code should also check the the button press timestamp and the most-recent tracking point are from about the same point in time, as the GPS might have lost signal and the location tracking layer isn't being updated at the moment. You can leverage the notification capabilities of the AWS button service to text you that your location wasn't recorded properly; though there is a bit of a delay with notifications, so you may find yourself having to walk back to the previous location to record it again.
(One of our main uses for this has been for "I'm here now!" purposes over the course of a day. Think of it as a tracking layer filtered to record your location only when you manually choose to have it do so, and you don't want to fuss with having to pull out your phone and do something directly in Collector. That sounds pretty similar to what you're looking to do? Recoding the button press timestamps makes it easy to join/filter with all sorts of data after the fact too.)
The IoT button works best if your need for location accuracy isn't too high. The iPad GPS, as you're already aware, can be off by quite a bit, especially under canopy. The delay of recording the button press and the temporal resolution of the tracking layer can add to the error too, especially if you move a lot during the delay it takes to process. Depending on your use case, however, that error source can be greatly reduced if you click the button at the start, rather than the end, of the task, so that you are "in the area" while things are being recorded, rather than walking or driving away to somewhere else.
Hope that helps!