Don't be scared by the long list of ingredients. Except for dates and smoked salt, you may have most of them in your pantry.
Rinse the beans and pick over them. Put them in the Instant Pot or other pressure cooker along with 6 cups water. Set cooker to cook at high pressure for 1 minute. Allow pressure to come down naturally for 20 minutes before releasing steam and opening pot. (See Notes below for other soaking options.)
Drain the beans and rinse the pot. Using the Sauté or Brown setting, begin heating the pot and add the onions. Cook until the onions begin to get some color to them, adding a splash of water every now and then to release stuck-on onions. When onions begin to brown, add the garlic and cook for another minute.
Put the chopped dates in a blender with 1 cup of the hot water. Blend until fairly smooth. Add to the onions and garlic, and stir and scrape the bottom of the pan to remove any stuck-on bits.
Add to the pot the drained beans, the second cup of hot water, maple syrup, soy sauce, mustard, salt, ginger, and black and red pepper. Seal the cooker and set it for 15 minutes at high pressure. When it's finished cooking, allow the pressure to come down naturally for 15 minutes before releasing steam and opening the pot.
Check the beans for doneness and liquid. If they are not all tender, close up the pot and give them more time (add liquid if they seem dry). Go through the same process of waiting for the pressure to come down naturally before opening the cooker.
When the beans are done, stir in the pineapple and all remaining ingredients. Switch pot to the lowest Sauté setting and cook until the beans have thickened, at least 10 minutes.
Check seasonings and add more pepper, syrup, salt, and smoked salt to taste. If the beans get too dry, add some of the reserved pineapple juice.
I found that doing a quick-soak in step 1 resulted in beans that were almost completely cooked. If you decide to soak your beans overnight instead of quick-soaking, you may need to start with 25 minutes, rather than 15. If you try to use unsoaked beans, you will need even more time and much more liquid (I don't recommend using unsoaked beans for this recipe.)