(MacOS) How to upload sketch to MH-Tiny using Optiboot

I have a sketch that is too big for my MH-Tiny (ATtiny88) when I use the Micronucleus programmer. When I choose the Optiboot, my sketch will fit, thus I want to use this approach. (Alternatively, I am happy to upload with no bootloader because I will have even more space available, but don't know how to do this; thus this is a secondary question.)

In Arduino IDE 2.1, I successfully uploaded other sketches to my MH-Tiny using the ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK) and MH-ET LIVE Tiny88(16.0MHz) board types. In each case, after compilation and linking, the IDE asks me to plug in my board in order to upload the sketch. For this, I am using an USB-A -> MicroUSB cable, and this works fine.

However, when I choose to use ATtiny48/88 (Optiboot), or ATtiny48/88 (No bootloader), instead of being prompted to connect my board, I get an error message stating Failed uploading: no upload port provided.

What do I need to do to make this work?
Thanks in advance.

Notes

  • I have a Duinotech Arduino Compatible USB to Serial Adaptor that I've used with the ESP32-CAM board before, which has both serial and ISP outputs.
  • I also have an Arduino MEGA2560 that I can use as a programmer using Arduino as ISP. I've tried programming my MH-Tiny using the MEGA's ICSP port as well as pins 10-13 via the MH-Tiny's SPI port. But I'm getting errors. I can provide more details about these errors if this is a viable option.
  • I have installed AVRDude from homebrew, so this is another option I have.

I jury-rigged pins to the MH-Tiny ISP port, so now I can use it.
(If there's any other information needed, I'm happy to provide it.)

I found an Arduino UNO I have and loaded it with Arduino as ISP and then used it (both through pins 10-13 and the Uno's ICSP port) to burn the bootloader with ATtiny48/88 (Optiboot) selected in my sketch.
It seems, unless I'm misinterpreting the output, to have been able to read the details of my MH-Tiny, but ended with an error stating it wasn't able to erase the chip.
However, I can reprogram the MH-Tiny successfully using the other board types I mentioned above. I don't understand what's going on.

"/Users/user/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino18/bin/avrdude" "-C/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf" -v -pattiny88 -cstk500v1 -P/dev/cu.wchusbserial142430 -b19200 -e -Uefuse:w:0xfe:m -Uhfuse:w:0b11011111:m -Ulfuse:w:0xE0:m "-Uflash:w:/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/bootloaders/optiboot/optiboot_attiny88_16000000L.hex:i"

avrdude: Version 6.3-20201216
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf"
         User configuration file is "/Users/user/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.wchusbserial142430
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         Setting bit clk period        : 5.0
         AVR Part                      : ATtiny88
         Chip Erase delay              : 15000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no         64    4      0  3600  3600 0xff 0xff
           flash         65     6    64    0 yes      8192   64    128  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Failed chip erase: uploading error: exit status 1