The DES Standard is an interoperability standard describing compatibility with the hardware implementation found in IBM's patent.
The initial permutation describes taking 8 input bytes bit ordered 1 to 8 with 1 having the greatest binary weight and providing an initial LR Block comprised of even and odd input byte bits.
The binary weight of an input byte bit in the 1 to 8 ms to ls notation would be expressed as (1 << 8 - x) where x a value in the range 1 to 8 and the - operator is higher precedence than the << operator.
Note that in the programming language C for instance, bits in a char of byte size would be labelled 7 down to 0 and not 1 to 8 as here.
The inverse initial permutation does the obverse while also including the output block reordering to RL. Note the IP-1 table appears rotated 90 degrees clockwise here.
From a hardware perspective you can load 8 successive bytes in the Left and Right registers by shifting them in serially where the two 32 bit registers are comprised of four 8 bit shift registers. (For the simplest DES implementation these registers also parallel load.)
The Inverse Initial Permutation serially shifts the result out to a byte wide interface. Both permutations consist of 8 wires when implementing a byte wide interface.
Permuted Choice 1 does something similar for the key which is loaded into the 28 bit C and D blocks.
Where we again get 8 wires to describe the permutation using 7 input byte bits. The PC-1 table is re-aligned to an 8 successive input bytes here. Note that input byte bit 4 is shifted into the concatenated last 4 bits of both C and D blocks.
For your question on the initial permutation, "...where is the 58th bit to be found: in buffer or in buffer?" the answer would be buffer, corresponding to the 8th input byte in sequence assuming buffer is an array of char values.
As commented it's not a matter of consensus. The standard is specific. There are also published known triplet values (test vectors) as well as known conforming implementations. See the answer to 64 DES full example with all the stages describing a conforming implementation which can be used for direct comparison and a source for triplet values.