To get the intended experience I would highly recommend VSCode. Anyways, regarding the problems
That’s because, if doing it according to the docs, the “Build” command is equivalent to platformio -f -c qtcreator run. The run default target is to just build the firmware. You can either change the command to append -t upload to make it a “Compile & Upload” command, or somehow (I don’t work with this IDE) add a second separate target for upload.
PlatformIO is able to open a GDB server by executing pio debug --interface gdb. If QTCreator has the ability (like Eclipe, CLion, or any other IDE…) to be configured for “use this GDB binary and connect to this GDB server port while loading this ELF file”, this can be integrated. GDB binary can then be found in the <user folder>/.platformio/packages/toolchain-<your toolchain>/bin/<toolchain prefix>-gdb, GDB servers opened by e.g. OpenOCD default to 3333 and the ELF file is the .pio\build\<environment> folder.
However, PlatformIO does not implement debugging capabilities for all chips & platforms (e.g. no ESP8266), so I highly recommend to use VSCode first to check if it’s generally working.
Not sure if this is possible without modfying Qt Creator or writing some sort of plugin, if QTCreator has such a system at all.